{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "# Φ<sub>Flow</sub> Cookbook\n",
    "\n",
    "This notebook lists useful code snippets."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "## Import for NumPy, TensorFlow, Jax, PyTorch"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [],
   "source": [
    "from phi.flow import *\n",
    "from phi.tf.flow import *\n",
    "from phi.jax.stax.flow import *\n",
    "from phi.torch.flow import *"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "## Select GPU or CPU"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [],
   "source": [
    "backend.default_backend().list_devices('GPU')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [],
   "source": [
    "backend.default_backend().list_devices('CPU')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [],
   "source": [
    "assert backend.default_backend().set_default_device('CPU')\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "## Use 64 bit FP precision"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [],
   "source": [
    "math.set_global_precision(32)  # single precision is the default\n",
    "x32 = math.random_normal(batch(b=4))\n",
    "\n",
    "with math.precision(64):  ## operations within this context will use 32 bit floats\n",
    "    x64 = math.to_float(x32)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "## Sample Random Values"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "\u001b[92m(examplesᵇ=10, vectorᶜ=x,y)\u001b[0m failed to fetch values: Value for attr 'T' of bool is not in the list of allowed values: float, double, int32, uint8, int16, int8, complex64, int64, qint8, quint8, qint32, bfloat16, uint16, complex128, half, uint32, uint64\n",
       "\t; NodeDef: {{node Sum}}; Op<name=Sum; signature=input:T, reduction_indices:Tidx -> output:T; attr=keep_dims:bool,default=false; attr=T:type,allowed=[DT_FLOAT, DT_DOUBLE, DT_INT32, DT_UINT8, DT_INT16, DT_INT8, DT_COMPLEX64, DT_INT64, DT_QINT8, DT_QUINT8, DT_QINT32, DT_BFLOAT16, DT_UINT16, DT_COMPLEX128, DT_HALF, DT_UINT32, DT_UINT64]; attr=Tidx:type,default=DT_INT32,allowed=[DT_INT32, DT_INT64]> [Op:Sum]"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data = math.random_normal(batch(examples=10)) * .1  # batch of scalar values\n",
    "data = math.random_uniform(batch(examples=10), channel(vector='x,y'))  # batch of vectors\n",
    "data"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "## Slice a Tensor"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "\u001b[94m(x=0.670, y=0.423)\u001b[0m"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.examples[0]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "## Print a `Tensor`"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[92m(examplesᵇ=10, vectorᶜ=x,y)\u001b[0m failed to fetch values: Value for attr 'T' of bool is not in the list of allowed values: float, double, int32, uint8, int16, int8, complex64, int64, qint8, quint8, qint32, bfloat16, uint16, complex128, half, uint32, uint64\n",
      "\t; NodeDef: {{node Sum}}; Op<name=Sum; signature=input:T, reduction_indices:Tidx -> output:T; attr=keep_dims:bool,default=false; attr=T:type,allowed=[DT_FLOAT, DT_DOUBLE, DT_INT32, DT_UINT8, DT_INT16, DT_INT8, DT_COMPLEX64, DT_INT64, DT_QINT8, DT_QUINT8, DT_QINT32, DT_BFLOAT16, DT_UINT16, DT_COMPLEX128, DT_HALF, DT_UINT32, DT_UINT64]; attr=Tidx:type,default=DT_INT32,allowed=[DT_INT32, DT_INT64]> [Op:Sum]\n"
     ]
    }
   ],
   "source": [
    "print(data)\n",
    "print(f\"{data:full:shape:dtype:color:.1f}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "## Plot a `Tensor`"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "is_executing": true,
     "name": "#%%\n"
    }
   },
   "outputs": [],
   "source": [
    "data = math.random_uniform(spatial(x=8, y=6))\n",
    "vis.plot(data)  # or vis.show(data)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "## Convert a `Tensor` to NumPy"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [],
   "source": [
    "data.numpy(order='x,y')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [],
   "source": [
    "math.reshaped_native(data, ['extra', data.shape], to_numpy=True)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "## Compute Pair-wise Distances"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [],
   "source": [
    "points = math.tensor([(0, 0), (0, 1), (1, 0)], instance('points'), channel('vector'))\n",
    "distances = points - math.rename_dims(points, 'points', 'others')\n",
    "math.print(math.vec_length(distances))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "## Construct a `CenteredGrid`"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\PhD\\phiflow2\\phi\\math\\_tensors.py:789: UserWarning: unstack_spatial() is deprecated. Use tensor.dim[order].dim\n",
      "  warnings.warn(f\"unstack_spatial() is deprecated. Use tensor.dim[order].dim\")\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAtEAAADCCAYAAACPFJ4bAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/d3fzzAAAACXBIWXMAAAsTAAALEwEAmpwYAACTYUlEQVR4nO39d3hbR5bnD38LIECAJJizJCpQzFTOlqxoy5KDLKee7uk0PT3rX89M9/bszM50T9jJ+65ndqfb2W7JUXZbbrWDLNuyZUlWsnIWJVFUoBLFnBNIpPP+AfDinguQYAIBUvV5nnrIAm6dewqXLNSt+61zBBFBIpFIJBKJRCKR9B9dqB2QSCQSiUQikUhGG3ISLZFIJBKJRCKRDBA5iZZIJBKJRCKRSAaInERLJBKJRCKRSCQDRE6iJRKJRCKRSCSSASIn0RKJRCKRSCQSyQCJCLUDEklfPLAimhoanb2+f/Jc9w4iWjOCLkkkEsmYZSyNucnJyTRp0qRQuyEZ5Zw8ebKeiFL8vScn0ZKwpr7RgUNfjuv1fVPm9eQRdEcikUjGNGNpzJ00aRJOnDgRajckoxwhxM3e3pOTaElYQwBckAmBJBKJZCSQY65E0n/kJFoS1hAIdur90aJEIpFIhg855kok/UduLJSEPS5Qr0UikUgkw8tIj7lCiDeEELVCiPO9vC+EEM8LIa4KIc4JIWYHxRGJZIDIlWhJWEMA7HCF2g2JRCK5KwjRmPsWgBcBbOrl/bUAcjxlAYBXPD8lowS73Y6Kigp0dXWF2pVeMZlMGD9+PAwGQ7/byEm0JKwhAE6SK84SiUQyEoRizCWi/UKISX0c8iiATUREAI4IIeKFEBlEVDUyHg4PNocLe8tqcfJmExo7bIgy6jF9fDzuL0pDrKn/E7fRSEVFBSwWCyZNmgQhRKjd8YGI0NDQgIqKCkyePLnf7eQkWhLWEAh2KduQSCSSESFMx9xxAG6r6hWe13wm0UKIpwE8DQBZWVkj4lwgiAi/O34bv9p5GbVt3TDqdUiOMaLFasfbh28i+hM9frR4Mn66cipMBn2o3Q0KXV1dYTuBBgAhBJKSklBXVzegdnISLQlriAB72I3ng0PGLJUMlb7ilUokw0GYjrn+Zl5+vSSiDQA2AMDcuXND3pPWLjt+9t5p7Ltch3mTEvAfT0zHPVOTEBmhh9NFOFfRjDcO3sCLe65ix4VqvPbDuZiYFB1qt4NCuE6gexiMf3ISLQlzBJx+x8/Rh4xZKhkqfcUrlUiGh7AccysATFDVxwOoDJEv/aaurRvfe+0ortW1498eLcL3Fk5kEzW9TmBWVgJeyErAk3PG4+fvn8ZjLx/Cpj+ej+JxcSH0XNJfZHQOSVhDAOwkei1jAafT2WediAIeE6g+mDbDYcPlcoE0+srR4vtw2CAiuFyuPo/pz3klkpEiTMfcbQB+4InSsRBAS7jroVusdvzwjWO41diJt/94Pr6/qG8pw7LcFHz8Z4thNujxwzeO4Vpd+wh6KxkschItCWsIgNOzMuKvjAU2btzI6m+99RZsNptSP3/+PA4fPqzUXS4XXnvttT5tbNmyBc3NzUq9srISn332WZ9ttPUdO3bg5k3vwmdbWxs2b97cZ5vXX3+dTQKPHTuGM2fOKHW73Y433nijTxvvvvsuOjs7lfqVK1ewZ88epU5EAX3funUramtrlXp9fT0++uijPtts3LiRTfj37t2Ly5cvK3Wr1Yp33nmnTxtvvvkm7Ha7Uj979iyOHj2q1Ptz7d5//320trZCIgkFoRhzhRCbARwGkCeEqBBC/FgI8RMhxE88h2wHUA7gKoCNAP4sKI4ME04X4b9vPo0rtW149ftzsHhq/5I8Tk6Oxjs/ng8hgD9+6zharPbAjST94vjx45g+fTq6urrQ0dGBoqIinD/vN6LigJByDklY414VGbv3ekSEs2fPgoiUVYqKigo0NDQgIyMDAFBTU8MmxM3Nzbhx4wazU1JSAofDgYiICGYjPj5esVFV5V24sVqtKCsrYzYuX76Mjo4OREe79XjV1dVITk7GxIkTAQBNTU24fdu7t8fpdOLcuXPMxq1bt9DU1ITk5GTlvEajUXm/sbGR2QCAc+fOsf7fvn0bjY2NiIqKUmxUV1crx7e1taG8vJzZuHjxImw2m3KuyspK1NXVITU1FQBQV1eHO3fuKMfbbDZcvHiR2bh+/Tra2toQGxurnNdgMCA3N9ev7/6uXY/vaWlpig31DUFTUxNu3brFzltSUgKn0wm9Xs9s9PghkYwkoRhzieg7Ad4nAH8+Qu4MmRe+voJ9l+vw7+uLsSx3YFsYpqTE4NXvzcG3NxzBX205i40/mBP2WuKB8i+fXsDFyuFdKCjMjMU/PVLU6/vz5s3DunXr8A//8A+wWq343ve+h+Li4iGfV06iJWENQcA5hh+YCCGwdOlSNkjm5uYqE2jAraVuampS6omJiZg2bRqzs3jxYmUCDQATJ06EehPjpEmTUFNTo9TNZjPmz5/PbMydO1eZQPfY6JlAA+6d7mqber0e9957L7NRVFSkTKB7bKgn0WlpacjPz2dt7r33Xtb/7OxsjB8/nvmuXiGOjY3FzJkzmY2FCxey82h9nzRpEvPdaDRi0aJFzMbMmTPZxHXixInMj3HjxiE7O1up+7t2+fn5ygS657wdHR1KPSkpCUVFfKBfvHixMoHuOa/cgCoJFWN9zA02p2814fndV/D4rHH47oLBRQeZOykRf/tgAf7ts4t4//htfGd+eEQZGe384z/+I+bNmweTyYTnn39+WGzKSbQkrBnrK9ESiUQSTsgxd/B02Z34q9+fRXqsCf/8aNGQVpB/dM8k7C6twb9/dhFLpiZjQmLUMHoaWvpaMQ4mjY2NaG9vh91uR1dXF1s0GizyP0US5gg4SddrGQskJSX51NUrr5GRkTCbzewY9Wqvv3pKSgocDodS1+v1PvIA7Xm1NmJiYljmJofDocgjekhMTOyzbjKZmO9E5HMef36oN+MZjUafwS5Q/+Pj432+wBISEvr0VetHVFQUTCaTUne5XEhJ4Y9m/fV/qNcuLS2N6aolkpFl7I+5weI3+8pRXteBZ56YPuTkKTqdwH8+OR0E4F8/uxjweElgnn76afzbv/0bvvvd7+IXv/jFsNiU/xGSsMadglbfaxntEBFee+01NvHasWMH096eOXMGp0+fVuoNDQ0+m+TefPNNNmnev38/rly5otTPnz/PNrhZrVa8++67zMZ7773HpAfHjx9HSUmJUr927Rr27t2r1J1Op88mwW3btrENfadPn2a+V1VV4fPPP2dtXn/9ddb/3bt3M83z2bNnWWjA1tZW/O53v2M23n77bbYZ8/DhwygtLVXqpaWlOHTokFK32Wx4++23mY0tW7agpaVFqZ88eZJtirxx4wZ27dql1InIx/cvvviCaa+1166urg5bt25l533jjTfYZsy9e/fi6tWrkEhCwVgfc4PF7cZOvLz3Kh6anoGlA9RB98b4hCj8bGUOdl6swZ6y2sANJL2yadMmRERE4A//8A/xy1/+EsePH8fXX389ZLtSziEJa4gE7DR2B24hBB577DG2ajp37lyWaaugoIBpopOSkrB06VJm55FHHmGa6IKCAhQUFLC6OuKD2WzG2rVrmY3Vq1ezFd+CggKmX87Ly0NhYaFS1+v1WL9+PbOxZMkStlpdUFDAtMqZmZlYsGABa7N+/XrW/xkzZmDq1KnMhnpFODY2FqtWrWI2HnroIXYere8FBQVsQ5/RaMQjjzzCbKxatQpxcXGsjVoTPWXKFMyYMUOp+7t2CxYsYG0KCgrYjUlKSgqWLFnCzrtu3TqmidZeO4lkJBnrY26w+I8vL0EnBP7hoeH93/3xksn4/Ynb+PfPLuLeqcmI0Mu1z8Hwgx/8AD/4wQ8AuL+71ItKQ0FeDUlY4w63pOu1BBshhEkIcUwIcVYIcUEI8S+e1xOFEDuFEFc8PxMC2ZJIJJJwJ9Rj7mikpKIFn52rwp/cOxkZcebADQaAMUKHv1mTj2t1HfjwVMWw2pYMHfkfIQlrCAJ2iui1jADdAFYS0QwAMwGs8QT7/yWA3USUA2C3pz4oJkyYwOrqlUwAiI6O9tEzq1eq/dUzMzNZ3Wg0+mh+tefV2khISPDRMwfyVVu3WCyIiYnp8zyBbJrNZrZC7M+Gtp6amsr03Hq9nkXN8HcerR9xcXE+WmzteQL1Pzo6GhaLZUC+T5gwwSdBjUQyUoTBmDvq+M8dl5AQZcDTS6cExf4DRWmYlRWPX++8gi67TMYUTgRtEi2EeEMIUSuE8BvN2pN56HkhxFUhxDkhxOxg+SIZ3ThJ9FqCDbnpSR1l8BQC8CiAHlHt2wDWD/Yczz77LKv//ve/R0WFd8Xh2LFj7NFTc3Mz3nzzTdbmueeeY5vxdu3axeIgnz59GgcOHFDqNpsNL7/8MrPxyiuvoKurS6kfPHgQp06dUuplZWX44osvlDoR+fj+zjvvoKGhQakfPXoUx48fV+rV1dU+CVueffZZNmnctm0b00SfOHGCJZvp6OjwSVDywgsvME343r17WQzrc+fOsYQtDocDL7zwArOxceNGtLd7s4QdPnyYabGvX7/O9Mz++v/++++zeNzHjh3DsWPHlHpjY6OPFvu5557z0cSr9dwSyUgTyjF3tHHqVhMOXKnHT5ZlwzLEzYS9IYTAXz+Qh+rWLvz+xO3ADSQjRjBvK98C8CKATb28vxZAjqcsAPCK56dEotCzKjJYhBAT4P4bTAfgArCBiJ4boA09gJMApgJ4iYiOCiHSetLOElGVECK1l7ZPA3ga8F1x9LTFunXrWMKO+fPnszjR+fn5TBNtsViwfPlyZker783Ly0NeXh6zod40p9fr8eCDD7I2a9asYau3eXl5SqIRAMjJyWFaXSLy0UQvXbpUSfDSY0OtVU5JScHChQtZm3Xr1rH6jBkzWIzn/Px8REZGKnWTyYT77ruPtXnooYeYNlnre35+Psu+qNPpfD6z+++/n6285+XlsZXlrKwspokGgEcffZRdu0WLFjFNeH5+PtNEx8XF+dWzq21or51EMpKEw5g7mnhh9xUkRBnwvYUTAx88BBZNScLciQl4Ze81/MG8LBgjRp+QQD3OhSODeQIYtKtARPsBNPZxyKMANnlW+o4AiBdCZPRxvOQuZBj0eQ4Af0VEBQAWAvhzIURhgDbcByInEc0EMB7AfCFEv9McEdEGIppLRHO14dEA9wqDwWBgA4ter2cbzQLVASAiIgI6nW5INgbaRqfTsc2Mgz3vcPV/pH0fqWsnkYwk4TDmjhbO32nBnrI6/Mm9UxAdGVypixACP1uVg8qWLnx8evRpo00mExoaGsJWqkZEaGhoYJvY+0MoBU7jAKifS1R4XqvSHqhezRNG4xxDmt9FP8koxXa7op6I/MYEcq+KDH5C4Vkt7lkxbhNClML9dzbgwJtE1CyE2AtgDYAaIUSGZxU6A8Cg4w9ptbraelRUlE/c4PT09D7rqampbHJnMBh84iRrz6O1ERsby1aA++OrP9/VK9H+zhPIhslk8tEVB+p/UlISmyTr9Xq/8Zj7qsfExPjEeB6o7z2pywfiu9ZGOKCPiaaIJNXfj2oxSTj4ypLPV6T6WO2bmrrOpq7w91yabyuKUDXWc0NGA9eN6oVX6hSpc7D3ovXdyu9mwf/PnOB96ybvk5p6G9f62zr5o3zVKaENryw0sladuh5gjsFsiT7eAwCz0++h9tpmOFo7/S4JhtOYG+68dqAc0UZ90Fehe1iak4yCjFhsPHAdT82ZAJ0ufFd1tYwfPx4VFRWoq6sLtSu9YjKZfPa1BCKUk2h/V9/v8EFEGwBsAIDIrAmU8Tc/D6ZfkhHm5s/++mZv7/Uj3FKyEOKEqr7B8/figxBiEoBZAPod20YIkQLA7plAmwHcB+A/AGwD8EMAz3h+ftJfm1p2796NlStXKvWjR49i3rx5ysTx+vXraGlpUaQUNpsN+/fvZ220Ni5cuICcnByMGzcOAFBRUYGysjIlvBwR+bT5+uuvsXz5cmVV9OrVqzCbzYo8o6amBiUlJazNrl27WP3AgQO45557lLv5GzduIDIyUklj3dHRgUOHDvXp+6lTpzBz5kwlkcnNmzdx48YNJdW30+nEnj17fPxYsWKFcuNQWlqKjIwMTJni3uhTWVmJixcvKuHliMjH9z179mDZsmXKKnB5eTnsdrsiz2hqasLJkyf77P/hw4exYMECZUPi9evXYbVaFXlGd3c3Dhw40Gf/z58/j8LCQp/JdSiJSEpA+t+qxl3VpNXQwL9GtBM5MniP1XXzYV9n5/XoO95jXUb+Xhe/B0JXmiqZUJyNvTcxlT8EjTNald+zopvYewtjrim/T4usZO81u/hN5A27917/tVs8VOGtEv4g1dDm/SAcMS72nrGJf0hGb/RJnwm2Fofqvk47NNpj+FeovqDNa1d1B3Pjr/0OkW6bIR5zRwuVzVZ8dq4KP1g0CXHm4GihtQgh8N/unYy/3HIW+y7XYUX+6FlQNBgMmDx5cqjdGHZCOYmuAKDeDj8eQGUvx0ruUggIlCWrnojmBrIjhIgB8CGAvyCi1kDHq8gA8LZHF60DsIWIPhNCHAawRQjxYwC3ADw1AJsKRAS9Xs+0YpGRkWzlWf2oH3BPxLQrnAaDAQ6Hw2f1VW1DvTLtz0ZUVBS6u7uV1Vetdk2v17PXnE4n01AD7mgU3d3dyiRaa8Nut/us7kZERLD+99R7891fulaTyQS73a6segshWButDYfD4fPYLiYmBlarVYkmovXd5XKxz5eIfHw3m82w2WyKf/25dhEREXA6nT6yD4kkFITBmDsqePvwDbiI8KPFk0b0vA9Pz8R/flmG17+5Pqom0WOVUE6itwH4qRDifbg3FLb0bNSSSHoY6qNFABBCGOAezH9LRB8FOp6dn+gc3Csp2tcbAKzybTFg31BQUMAmbBkZGSyddEpKCpu8WSwWn0dOubm57JiUlBSWolpbN5lMyiptD5MmTWITXG2b5ORkVtfr9SyhCQCMGzeOhaNLSUlhco74+Hi2aRJwb75T9z8tLY2F40tJSWFRM6Kjo302aU6dOtVnA2Nf/TcYDMjJyWE2srKyWDg+bZukpCQmtejt2qllMykpKWzSHBsbqzwd6CEvL49NmrXnDQcijE4kZzUr9ZY279+J3chXWWHVaL7bvfXoO/zGxKmRH9pjen88LRyaukt1k6TRiSREdrJ6boxXbaWVc5R1ef8er3ZzKU2Lg9/wJUR47bZ28VVqMmpWgbvVv/NJaXSlRn7Srkpz38qXop1G3rZlivf/vJtnnYc9ltuNNnpvxuPM3sg7FXrNNVMR6jF3NNBld+J3x29jdWE6JiT6SraCiTFCh+8tzML/++oyrta2Y2pqTOBGkqARzBB3mwEcBpAnhKgQQvxYCPETIcRPPIdsB1AO4CqAjQD+LFi+SEY3Q9nkItwznNcBlBLRr4Lu7CDQrohq63q93mcTXKA2Wi2zEMJHmxzIhsFg8FlJDdTGn+/aVdWB2tDpdD4r3oHaGI1Gn5Vk7WcSyIZ2s+JgfR/otRvoxpbekImCJINlrI+5Q+XTs5Vo7rTjB4tGRgut5Q/mZcGgF3j3SK9KSMkIEbSVaCL6ToD3CcCfB+v8krHBMKyKLAbwfQAlQogzntf+joi2D9W34UIdAg1wyxXU0gybzcbkHUSEzk6+0qat9xzTo6vW2vB3Xq0NbZvOzk4Wi9qfjY6ODiZvsNvtbCLudDpZLGp/Nux2O7q7u5VJr91uh83GNa+B+u9wOJisoru7m8WR9nfe9vZ25rvNZmNt+vMZWq1WJs2w2+2DunYdHR0+kpVB0JMoqN2zMviNEOILAI/DnSjoGSHEL+FOFPSLoZ5MMja4G8bcofLukZuYmhqDRdlJgQ8OAimWSDw0LQMfnKzAXz+QF/TIIJLeGX2BBiV3FQTARbpeS8D2RN8QkSCi6UQ001PCZjAnIuzZs4dpgC9cuICamhqlfuPGDVy/fl2pNzU14cyZM8zOvn372ISvtLSUJf24desWrl69qtStVisOHTrEbBw5coRNCsvLy1ls5erqapbAxel0Yu/evczGuXPnUF9fr9SvX7/OfK+rq0NJSQlro+3/xYsXUV1d3Wv/W1tbWQIXAPjmm2/YRPvKlSu4fdsb/KeiogKXL19W6jabjSWfAdwbGltbvdJNre/a/vd27WprvdIBre8NDQ04e/YsO+/evXvhdHof4Wv7P1iGM1FQhN6FtJg2peRm1ColIamdFQiwEtEplOI0gRXS8yKc3mJqJFYMHWBF2IRS7FYDK5cbUli50ZmkFBcEK1H6bqW0OMysNNqiWWmwe0u8uYuViHYdK+Y6UorlpouVqBoHK+Y6m1KEk1gxtthZ0dlJKS4DL4LAisOlU8oUS4NStJIW9neDsT3mDpULlS04W9GC7y7ICmnM4+8unIj2bgc+PydVsKFE3r5Iwpp+7BQf1QghcN9997HBuKioiOlms7OzWbKVxMREzJ7NE3yuWLGCyQays7ORnZ3N6urJrdlsxr333sts3HPPPWz1Mzs7m+mmp0yZgqlTpyp1vV6PVau4LHzWrFlMz5udnc1kJOnp6Zg2bRpro+1/Xl4eS7aSnZ3NVrNjY2OVKCM9LF26lJ1H67v28zAajT4Ja+bPn8/03NnZ2T7JVtRJUPxdu+LiYqb5zs7OZjcmycnJmDWLS+xXrlzJZCNaX4fCcCUKMqVZ/B0iGYOM9TF3qPzu+G0YI3R4bNa4wAcHkbkTEzA1NQabj9/Ct+ZNCNxAEhTkSrQkrCEAdtL3WiQSSe8MV6IgY7w5cAPJmECOub1jtTnx8ek7eLA4HfFRxsANgogQAt+eNwGnbzXjUvWYC34yapCTaEmYI+AkXa9lLOAv2YZaImAymVjUCH9t/NlQ65cNBgNLx90fG9pkKy6XC5mZmT7n6aseFRXlE9It0HnT09OH3P+kpCSf7IKBkq1obVgsFhathIgGnGzFbDb7aJsD+Z6ZmcnkHcMBETUD2AtVoiAAGGqiIMlYZOyPuYNlx4VqtHU58AfzsgIfPAI8Pns8DHqB358YfRkMxwp393+EJOwZ66siRIQXX3yRTRq3bdvG9LwnT57EsWPHlHpDQwM2b97M7Lz66qtME71nzx6UlpYq9TNnzuDgwYNK3Wq14rXXXmM23nzzTSY9OHLkCE6fPq3Uy8rK8NVXXyl1p9OJl19+mdnYsmUL0wSfOHECJ0548zJUVlbio494xKuXXnqJ9f+LL77AtWveBBgnT57E0aPeXA2tra3YtGkTs7FhwwamiT5w4ADTXp8/fx779u1T6jabDb/5zW+YjU2bNqGlpUWpHz16FCdPnlTq5eXl+OKLL5Q6Efn4vnXrVlRUeL/QTpw4wfTbdXV1+N3vfsfO+8orr7BJ865du3Dp0iUMFSFEihAi3vN7T6KgS/AmCgL6mSgoSm/DzPgKpUy11CklK66ZFa0mujvRqZSOCS5WXHqwoiaii3jp5CX6tk4p5mtGVjqux7FytjpTKUfqJ7NypztBKS4SrLQ5IlnZdTtPKeW3UlnRdwleuqEU0gtWXEZebBaDUjpTeWnJNrHiMgil6Lp5cZlcrOQn1yplWfwlpVj0Xb4X2cNYH3OHwoenKjA+wYwFkxMDHzwCJEYbsTI/FZ+cuQO7s/ewhZLgITXRkrCG4P4yG6sIIfDkk08yXe2CBQtYHOSioiKmiU5KSsKKFSuYnfXr1zNNdGFhIYqKipgNdaxls9mMhx9+mNlYu3YtWzUtLCxEYWGhUi8oKEBxsVcNoNfr8cQTTzAby5YtUzL89dhQa5UzMzNxzz33sDZPPPEE6/+sWbOY9rqoqMgn1vLq1auZjXXr1rHzaH0vKipik1uj0Yj169czG6tXr2aa6MLCQqaJzs7OZnpmf9du0aJFrE1RURG7MUlJScGyZcvYeR977DG2aq69dkMgqImCJGOTsT7mDpbKZiu+uVqPn63MCat020/MHo8dF2qw/3IdVhWkBW4gGVbkJFoS1hDhrl/9kEgGQ7ATBUnGJnLM9c/Hp++ACHhidmg3FGpZkZ+KpGgjPjxVISfRIUBOoiVhz1hfFdFmH9TWo6OjfWIcB2qj1S5HRkayLID9sZGQkOCTojtQG23dYrH4JEoZqA2z2eyj5w7UJjU1lZ03IiLCR68cyEZcXJyPnnmgvkdHR/skbBmoDYlkpBnrY+5AISJsPX0HcycmYGLSkOO3DysGvQ6PzMjEe8duobXLjliTIXAjybAhNdGSsKYn8P9Y1udt2LCB1bdu3criRJ8+fZppk9va2nw00Rs3bmTa3H379uHKlStKvaSkBEeOHFHqDocDr7/+OrPx1ltvMV3xsWPHmK746tWr2L17t1InIh9d8fvvv890xadOnWIxrevr63000dr+f/HFF7h165ZSP3v2LNMVW61WvPPOO6zNa6+9xjZSHjx4kGnCL168iG+++Uapu1wubNy4kdnYtGkTrFarUj9x4gSL6VxRUYHt23m4W23/P/zwQ9TV1Sn106dP49SpU0q9tbUV77//PmujvXZ79uxhMa3DASKBbleEUmyq0uXkBQRWKIKU4jK6WLHHEivquNB6Gy+W2w5WompdSolsBivmGh0rtmuxSrl8JZOV3bdylXKqcQIrddYYVmz2CKXomzTFClacRm/Rxn62R+tYsSbrldI+QceKNVWw0p0Ib0lzsmJJb2MlObJDKbdsyUqxUe/rZ3fDmDtQSqvacKW2HY+GOKxdbzw6MxM2hwtfnh96fHnJwJAr0ZKwhiDg0O44GkMQERYvXswy5RUXF7OV16ysLKaJjoyMxNy5c5mdJUuWwOVyKaueEyZMwIQJE5gNdfIVIsKSJUuYjXvuuYfpeydMmMBWRcePH8/iNxMRli5dymzMmTOHpa2eMGEC0ypbLBZMnz7dx3d1/3NycpiuOisri2280+v1PnGie/rfE09a63tWVhb7PFwul0+c7IULF7JVY62N5ORk5Obmsv5rfZ8+fTpiY2PZedWa6MjISMyZM8ev7+prp9bESyQjyVgfcwfDJ2fuIEIn8NC0jMAHh4CZE+IxMSkKn5y5g2/NlTGjRxK5Ei0Je7QZxtQl2AghJggh9gghSoUQF4QQP/e8/s9CiDtCiDOe8uAg7SMuLo5NXk0mEwstZzKZ2MTUaDT6yCwsFgubAGrbaOsGg8FHqhAVFcUkEIFs6HQ6Ja14D2azuU/fIyMjWR1wbxTU9r+v8xqNRp+weTExMWxjZSAbERERPmHzoqKi2IQ/kA1/164//R/otZNIRppQjrnhhstF+PRsJZbmpiAxOrSxoXtDCIFHZ2Ti0LUG1Lb2HnlFMvzIlWhJWEME2EO7KuIA8FdEdEoIYQFwUgix0/Per4no/w31BNr4xdq6yWTymXgFaqPVP0dERLDIE/2xYbFY2KSyP220dbPZPGQbkZGRPhP+QG3i4+PZxFSn0yEhIWFANqKjo30mswP13WQyMZnJYGyEA51OA0qavTr7GEO38nujld/Q+Myz9F6pir6N/y/rrfxgm+pP1JrCj41s4ms+jihvW+Ei9p6pnlVhaPce25XIv/Y6u7xPDm4lRbL39AYer5tcXh9cBn5OWzyv67tVN1cN/G9Aq4pwRHqPjWzidpwG/hk5Vf9OZOL+uVz8M7rS6s0eetHpjUfeaj+O3giDMTesOHWrCZUtXfjrNXmBDw4hj8zIxPNfX8X2kir80eLJoXbnrkGuREvCmp5wS72VoJ+fqIqITnl+bwNQCmBYhXFqvS/gjmnc2dmp1CsrK5kUw+FwMI00ABaLGXDHNG5oaFDqdXV1uHHjhlInIp/znjhxgmlzb926xWI+NzQ0sPjN/nw/ffo07HZ7r753dXUxnbU/G2VlZUxXXVVVhTt37ih1l8vF4jf3+K7mxo0bLM15fX09rl+/3ud5T5w4wSa8FRUVqK72agxbW1tRVlbWp41z586hq8u7EqTtv91uZxpxf76Xl5cz3yWSkSRUY64QYo0QokwIcVUI8Us/7y8XQrSonv79Y9CcUfHZuSoYI3S4L8wjX+SkWZCXZsFn56oCHywZNuQkWhLWEAAH6XotI4kQYhLcIcN6Mn/8VAhxTgjxhhAiofeWvUNEaGpqYpNXm83GdLRdXV1sw1tHRwfbAAgALS0tLIJHZ2cnO6arq4tN7rQ2/b2mrWv9crlcbLILuCeJ6njU/fG9ubmZ9d9qtfbpa0dHB7q7u5mN9vZ2Zldro7u726cvaj/99S/Q5+Hv2g2m/y0tLUzz3dHRwW5EJJKRJBRjrieW+UsA1gIoBPAdIUShn0MPENFMT/nXoDijwukifF5ShRV5KbCMgqgXj8zIwImbTahstgY+WDIsBHUW0o87yzghxKdCiLMevemPgumPZHTiIl2vZaQQQsQA+BDAXxBRK4BXAGQDmAmgCsB/9dLuaSHECSHECXXUBtX7mD17NtPVZmVlISXF+xg2MzMTGRneDS1xcXHIzs5mdmbMmME0wRkZGayNtm42m1kyEgDIz89nWmN/NtSh83Q6HWbOnMlsTJkyhckmtDaSkpLY5kTAnVxF3f/x48ezcHTa/lssFrbBD3BvxlTLRgL132g0Ytq0acxGbm4u03hr26SmprKNhv6u3cSJE5kcQ+t7fHw8pkyZws47Y8YMJj3RnlciGWlCMObOB3CViMqJyAbgfQCPButk/eX4jUbUtXXjoemZgQ8OAx72+Lm9RK5GjxRB00Sr7izvB1AB4LgQYhsRXVQd9ucALhLRI0KIFABlQojfev6JJBIQiRFfcdYihDDAPYH+LRF95PaLalTvbwTwmb+2RLQBwAYAmDt3Lvk7Rj0J81cfTJvhsBGq8wbL9+GwES79H2n0woVYo3dl/2qj90ahrd3sr4lCRLP3a0anWWAXXNKL7j6e55Cefy569cMIzWdmjedtjW3+fweA7lTVv2Ur1+/b9RqtdZJ3hc9h4bHbHZqv047xKs22k2uMtZpodV3PH7JAZ+M+xNz2/m6L46ujGZNqWF0tv3Co9NJ+B6Ke90Iz5o4DoOoZKgAs8HPcIiHEWQCVAP4nEV3QHiCEeBrA0wCGHOXmi5IqREbosCo/NfDBYcCk5GgUZMTii/PV+JN7pwRuIBkywfxP6c+dJQGwCPe3RgyARrg3ckkkADyPFl26Xkuw8fxtvg6glIh+pXpdvVT4GIDzgz2HdvOa2Wz2CemmjppBRH7bqLFYLEw24K9NIBuRkZFKyDjALYlQh2/rOUZbV8sbIiIimO8ul8snsobWj+joaCZn0Ol0PpsTtb5q69HR0Uzf7HA4fDYnan3X+mEwGNjqvsPh8Ino4c+G+rz+rl0g3+Pi4pgURSIZSUI05vq7c9TO9U8BmEhEMwC8AGCrP0NEtIGI5hLRXPUTvYHichG+vFCN5XkpiI4cPTEYHixOx8mbTahukWPISBDMWYi/O0vthqwXARTAfVdZAuDnROTSHMMeiTs1OkbJ2CeUGwsBLAbwfQArNeHs/lMIUSKEOAdgBYD/MRjjRIQPP/yQTTwPHz7MNqOVlpbi4kXvA5zGxkbs3buX2dm6dSvTRJ88eRI3b95U6leuXGEb+qxWKz7//HNm44svvmCa4PPnz7ONdLdv32Yb6ZxOJz7++GNm48CBAyzZiNb3mpoalvQEAD766CPW/2PHjqGiokKpX7p0CRcueBecWltb8dVXXzEb27ZtYzcNZ86cYZsgy8vL2YY+m82Gbdu2MRs7d+5kGu+LFy+yhC0VFRU4evSoUiciH98DXbuGhgbs27ePnffjjz9mN03Hjx/H7du3IZGEihCMuRUA1AGOx8M9L1AgolYiavf8vh2AQQgRtFA2p283oaa1Gw+GaWzo3ljr8XfHBZl4ZSQI5u1Vf+4sHwBwBsBKuPWlO4UQBzyaU28j1SPxyKwJfT2JkowxCKGVcxDRN/D/t7zdz2sDRgiBBx98kD3CnzFjBtPe5ubmsmQrSUlJPslGVq9ezVZNc3JykJOT06sNs9mMlStXMhvLli1jq7VaG1OnTmVaZL1ej7Vr1zIb8+bNY4lScnJyfLTKs2bNYm3Wrl3L+l9YWIjJk70hmnJzc9lqbmxsrE+imPvuu4+dx1//1dE5jEYjVq9ezWwsWbKEhQHMyclh12HSpElMR+7v2s2cORPjxnnXCnJzc9mNSXJyMubNm8fO+8ADDzBNtNZ3iWQkCdGYexxAjhBiMoA7AL4N4A/VBwgh0gHUEBEJIebDvQjY4GNpmPiipBpGvQ4rR4mUo4epqTHISY3B9pIq/PCeSaF2Z8wTzEl0wDtLAD8C8Ay5l3KuCiGuA8gHcCyIfklGE4QhrX4IId4A8DCAWiIqHja/JJK7CCEAnfCuX6TGeJ8I6nV8XaNeoyuO6FBrgzV2Nc8d1TGQtdpgbd3Q7j2vk6tqQBGa+NOqnEBCswxjUMWftidqHNIcHB/jDT2ps3Sw96oNPA67s81749cxjvsT0cnrjhh1X/g5Da382Mgmb5303N9ma+/69ESzynfth6BmiGMuMPBxl4gcQoifAtgBQA/gDSK6IIT4ief9VwE8CeBPhRAOAFYA3yb1Y6BhhMgt5Vg8NWlUROXQsqY4HS/tuYqG9m4kxUQGbiAZNMG83VTuLIUQRrjvLLdpjrkFYBUACCHSAOQBKA+iT5JRxjDo894CsCaoTg4RdcQLf/WoqCgfLW6gNtroDgaDAYmJiQOyER8fz3TCRMRWWftjIyYmxkeLHKhNZmYmk0iYzWYfLXYgGykpKWz1WqfTsRXy/tiwWCxMv01E/fJdzWCu3bhx43wStEgkI8UwaaLfwgDHXSLaTkS5RJRNRP/b89qrngk0iOhFIioiohlEtJCIDg3E/kC4WNWKiiYr1hSnBz44DHmgKB0uAnaX1gY+WDIkgjaJJiIHgJ47y1IAW3ruLHvuLgH8G4B7hBAlAHYD+AURySwDEoWhBv4nov1wb1gNS4gIzz77LJs0fvjhh0zPfOzYMabFbWhowKZNm5idF198kWmid+3ahfPnvXsdT58+jf379yt1q9WKV199ldnYuHEjkx4cPHiQJTUpLS3Fl19+qdSdTieee+45ZuPdd99lCVqOHj2KY8e8D5YqKyuxZcsW1ua5555j/f/0009x9epVpX78+HEcOuT9vmxtbcUbb7zBbLz88stME713716mgT537hy+/vprpW6z2fDiiy8yG2+88QbTRB85coRpwMvLy/Hpp58qdSLCr3/9a+b7li1bmJ5be+3q6+vx7rvvsvO+8MILTBP91VdfMR21RDKSDEeylXAfdwOx40INdAJhn2ClN4oyYzEu3ix10SNAULecesT/2zWvvar6vRLAam07iUSNM8Qh7oKJEALf+ta3mK520aJFLJZycXGxjyb6vvvuY3Yef/xxpokuKipCcXExs6GeIJvNZqxbt47ZeOihh9iqcVFREYqKipR6YWEhi62s1+vx1FNPMRsrV65kK75FRUVMq5yZmemjZ37qqadY/+fMmcM0wcXFxcyv2NhYrFnDF7nWr1/PzqP1vbi4mGU9NBqNePzxx5mNNWvWME10UVER00RnZ2djzpw5Sl0IgT/4gz9gvi9ZsoS10X7uycnJPlr0J554gmmitdcuHLC79KjpVMXQjvJuW6nr4E8atDtfnCbvC8YWPgkz1/KDXapvJEMHf8/YwVfn7VHeccEWx8cIn9B5iV5bpAlbF6FKPW5o5HacZu5vbb33iUjeeB5OrlkTZcXq8NrShpzSOXiMO0eC6ginZqIq+LHqvkSM62Tv2TR2oyK9N5Z6nffzCzQVHstjbn/46kI15k5KHLVSCCEEHihKx7tHb6K924GYURRdZLRxd/+nSMIeIsDp0vVaACT3RG7xlKdD7bNEIpGMVu72MfdWQycuVbdhdeHoXIXuYXVRGmwOF/Zf9k3yJRk+5O2JJMwJ+AixnojmjpQ3wUCrM9bWo6OjmVSjP20yMjLYCmlkZCSSkpIGZCMhIcEnhnGgNtq6xWJh2uTB2DCbzWyFuD9tUlNT2cq8Xq9nWRD7YyM2NtZHzz1Q36Ojo1ms7cHYkEhGlrE/5vbFVxfdEojVhaNTD93D3IkJiI8yYOfFmlEXpm80IVeiJWENIeCqyKjnvffeY/Uvv/wSDQ3eyE3nz59n+ubOzk5s3bqVtdm8ebNPvGJ1SLeysjKmb3Y6nXj//feZjS1btrDJ+unTp3Hp0iWlfvPmTZ8Yz7/97W9Z/ZNPPkG7KpZ7SUkJi/Hc3NyM7dt5dEBt/7/++mtUVnoD+Vy8eBHnzp1T6jabDR988AFro+3/sWPHWJzoa9eu+cR41p73gw8+QHe3NwTEuXPnmDa5urqa6aoB3/5v376dSW+0166jowOffPIJa/Pee+8x3w8ePIgbN25AIgkFd8OY2xc7L9YgL82CrKSowAeHMRGe8HxfX6qF3Sk3KgcLuRItCW/I/XhxsAghNgNYDvcjyAoA/0RErw+Pc0OHiJCTkwMiUlaOs7KyWCa8pKQkppkF3DGb1eTl5cHpdCqrr0lJSWzlOTExkdWdTicKCgqYjfz8fB8b6oge/mzk5+czG9nZ2WzlNSkpiWmVDQYDJk2axNrk5uay/mdkZLBoHElJSWhr8+ZqdrlcyMvLYzYKCgrgcDiUVe9AvjscDp/+5+Xlscms1kZMTAyLekJEPr5PmjSJ9TcpKQmdnV7dqhAC2dnZPud1uVzKNdZeu3DA1mnArRJv329GqlbpNPpjnYOvYqpDtOk1SdTsMfzYqBrvl73OodFLa9J+W657U3CDNHrkFD7Z03d523bzIDXQ2VSaaB61Dt2aBVm67Y1WU9oxnr0nzPxpkc7o/WAM0Tb2XrdTM0FTf2aac7o039IuVQi86EieR31yAt/LF2Pw3hQev+1Ngd3t6OOrf4hjLhD+425vNHXYcPxGI/5s+dTAB48CVhem4aNTd3D8RiPuyQ5aXpq7GjmJloQ1hKFtciGi7wyfN8OPEAKZmZlMehEXF8fCosXGxrLoDVFRUUhISGB20tLSmHzBYrHAYrEwG+q60WhEcjIfVJOSktjkXWvDYrGwya1er0d6On/kmZCQwMLCWSwWNqmMjo72kWZopSexsbE+/Vf7YTKZfML1aUPaBeq/wWDwCXmXmJjIQvppbcTExLD+93bttJsg1TdA/q5deno6O0Z7XolkJBnqmAuE/7jbG3vKauEi4L5RrofuYWluCowROuy6WCsn0UFi7D+bkYxyhh5uKdyJj4/vs240Gtnktj9ttBNVvV7vo+8NZCMqKspHzxyojbYeGRk5YN+1dYPB4KPNDtQmNjaWrYgLIXxiTQeyYTKZwqL/EsnIMvbH3N7YXVqLFEskpo+LC3zwKCDKGIF7spOw+1INe8omGT7kJFoS9rhcotcyFrhy5Qqr37x5E11d3ufejY2NTGfrcrmY3hcAi6sMALW1tSzmcUtLC+rq+C5t7XmvXLnCBtq6ujofGzU1PKzX5cuXWf3atWtMV6313WazsRjY/vy4c+cOCwvX1NTENOJE5NNfbb2mpgatrd4wbP3xXdv/hoYG1v/Ozk4WJs+fjRs3brB41Q0NDaz/TqcT5eU8n5S/a9fc3AyJJFSM9THXHzaHC/su12FVfip0urHTz/sK0nCzoRPX6toDHywZMFLOIQlresItjVWISJm89cgCeiavPdKCxsZGNqlqaWlhCU0A7+S1R9JRW1uL1tZWRfbQ2NjIJqJWqxW3b99mNu7cuYPOzk5lxbqnzeTJkwEAbW1tbCLqb0LY43uPprexsZHJOfz5fvXqVdb/nhsArR89tLe3o6qqitnombz2nKu+vh5NTU2K3KS5uRn19d48Tv4m89XV1Whra1NWrBsbG5k0Ret7z2Ree+2am5sVqUhjYyPTRPd27ZxOpyLpqKmpQVtbW1itSOvsQMxt7/9hV7JqVUubKVsz0VIrA7QqgQgrXx2zJut6PVbfrYkbrUqrHXeVi5lJz5+6qDXSWs22SZXeS+uPM1LTF9XWBGenRncdx8XhDrv3YHuVib1HMRohuUF1Xhu3q45jDXD5dEcbt3vVxR/Zqye9ztuq7Ju23sfUsT7m9sax641o73Zg1ShNsNIbqwpS8Q9bgZ0XazE1VcrEhhs5iZaEPWP5KZQQAvfccw/T1U6dOpWFY8vKymIa2YSEBJ9NcQsWLGCa6AkTJmDChAnMhnriaTabMXv2bGZj5syZTPKhtTF+/HhkZXk3J+n1eixcuJDZyM/PZ5viJkyYwCbRKSkpLJEK4E4uo+7/5MmTWSrsrKwspgm3WCws6QsAzJ07l53HX//VdaPRiHnz5jEb06ZNY5KPCRMmsMQpGRkZyg0F4P/a5eTkMK11VlYWW1VPTEz02Yy5YMECponW+i6RjDRjecztjd2XahAZocOSqWNLO5wRZ0ZRZix2l9bgT5dnB24gGRB33+2mZFRBEHC5dL2WYCOEmCCE2COEKBVCXBBC/NzzeqIQYqcQ4ornZ0IgWxKJRBLuhHrMDQVEhN2ltVg8NRlmoz5wg1HGqoI0nLrVhKYOW+CDJQNCrkRLwp4QL4o4APwVEZ0SQlgAnBRC7ATwRwB2E9EzQohfAvglgF8M5gT+NpapJQJGo5FFjQDgE+FBW09KSoLdbldWOHU6HYt44e+8WhtRUVFsddtut/tE9NBuYIyLi2O+R0ZGshViIvI5j9aPxMREJm+IiIgYcP+1frlcLr++9uWH2WxmvjudTp/Qc/5saK+dehW9P76npKQwaUo4IIin0tbZvavvDhP/D3XEa5NcezFV868ctR0A6FZ9FELzj29o58dak722tPvdXBH8Bafqo3REccOd3oceMNXzdi7NJehO8n4IFMWvK3XzvpFad6EdxLQOq8Ls6dv5RFWnmfcYVHYdTv5/YY3im1gjVJ+ZWZVyXccj4/lwty1EX6vrwK3GTjy9dEqoXQkKq/JT8fzuK9h3uQ7rZ8lkTsPJ2LytlIwdCCCX6LUE/fREVUR0yvN7G4BSAOMAPArgbc9hbwNYP0j72LRpE9vQ9vXXX6OiokKpnzt3DmfPnlXqDQ0N+PTTT5md3/72t2xD36FDh9jmw4sXL+LEiRNK3Wq1YsuWLczG73//eyY9OH36NEuUcv36dRw4cECpO51OvPvuu8zGl19+yTYwnjt3jiVKqaqqws6dO1mbd955h/V/3759LNnI+fPncebMGaXe2tqKjz/+mNnYvHkz29B37NgxlJWVKfXLly+zZCs2mw2bN29mNrZu3co2Ep45cwYlJSVK/datW9i7d69SJyIf33ft2sUSxWivXX19PT7//HN23nfffZdNtL/55hsfrflgkE9RJIMixGNuKPj6knuvx4r81ABHjk6mjYtDckwkdl+qDXywZEDIlWhJ2ENhElZJCDEJwCwARwGkEVEV4J5oCyH8jr5CiKcBPA2A6YlV72PdunVMVzt79mymic3Pz2cRHpKSkrBkyRJm58EHH2Srxnl5eUx7m5+fzyaIZrMZq1evZjbuu+8+ponOy8tjSU1yc3OZFluv1+ORRx5hNhYtWsQ0wXl5eWxFNTMzE3Pn8ozBjzzyCOv/tGnTWEKS/Px8FiYuNjYWy5cvZzbWrFnDzqP1PT8/n20kNBqNePDBB5mN5cuXs5XlvLw8pomePHky02L7u3Zz585labvz8/PZjUlycjLuuecedt6HHnqIaaK1124IBP0pimRsEi5j7kixu7QW+ekWjIs3Bz54FKLTCazIS8GOC9WwO10w6OX66XAhP0lJWEMIj3BLQogYAB8C+Asiag10fA9EtIGI5hLR3JSUlOA5KJFoCPZTFMnYJFzG3JGipdOOEzebsHKMrkL3sKogFa1dDpy62RT4YEm/CepKtBBiDYDnAOgBvEZEz/g5ZjmAZwEYANQT0bJg+iQZZXgeLYYSIYQB7gn0b4noI8/LNUKIDM8qdAaAQT8nU692+qtHRUX56Gq10Ru0dW0mPaPR6KPn1Z5HayMhIYElOSGigL5q6xaLxSdhifY8/em/Vq8cqP+pqansvBERESziSX/Oq80+OBjfo6OjWdKX/vg+fvx4pqseDgbzFEWNK4Kny+5OcPV6rCGum9Vjor0xz5tNXJfflalZx1H9r0e08A1e6vThAGCP8ta74rl4WWjCS6j13I5YTXg5vfdYp4mfkzTfkJHp3nCFOh3/DDpbuT4Zdm/fXEbuT2QtP486LKBBc4se0akJu2fyHqsNJ2jUfEYRXndhU8n3+0xIGAZj7kiy/0odnC4a85PoxVOTYdALfF1WiwVTkgI3kPSLoK1ECyH0AF4CsBZAIYDvCCEKNcfEA3gZwDoiKgLwVLD8kYxiqI8SZIR7JvM6gFIi+pXqrW0Afuj5/YcAPhmMfSLCr371K/bali1bWAznY8eO4ciRI0q9sbERb775Jmvz7LPPson2zp07cf78eaV+6tQp7N+/X6l3dXXhpZdeYjZeeeUVWK1Wpf7NN9/g5MmTSr20tBRffPGFUne5XD6+v/3220wTfeTIERw7dkypV1VV4b333mNtfvWrXzFd8SeffMISkBw7dgwHDx5U6m1tbdiwYQOz8fzzz8Nu9+6W2rNnD9MinzlzBl9//bVSt9vteO6555iNjRs3sgQthw4dwvHjx5X6tWvXsHXrVqVORPiv//ovZmPz5s0sIcvRo0eZFru+vh5vv/02a/PrX/8aLpd3QrZjxw5cvHgRw8Vgn6IIIZ4WQpwQQpxwdnQEbiAZO4RwzB1p9pTVIj7KgFlZY3trgMVkwLxJidh7qS7wwZJ+E8yV6PkArhJROQAIId6H+zGi+tvhDwF8RES3AICIpOpdoiHkm1kWA/g+gBIhxBnPa38H4BkAW4QQPwZwC0O4AXzyySfZyuOiRYvYimZRURHTRCckJGDVqlXMxmOPPcZWPAsLC1FYWMhstLd7M1ZFRkZi3bp1zMZDDz3EomAUFhYyDXRBQQGKi4uVuhACTz75JLOxcuVKFsGjsLCQaZXT09N99NxaG7Nnz2aa6KKiIpb0JCYmBmvWrGFt1q9fzzThWt+LiorYZs2IiAg8/vjjzMaaNWtYPO7CwkJ2HaZMmeITW/upp55i127JkiUsxnVRURHTRCclJWHFihXMxuOPP85WnbXXbigM5SkKEW0AsAEATOMmjMHpk8Q/IR9zRwyXi7CvrA7LclOgH0NZCntjZX4q/v3zUtxpto5Z/fdIE0xN9DgA6pRoFZ7X1OQCSBBC7BVCnBRC/CCI/khGI+Te5NJbCfrpib4hIkFE04lopqdsJ6IGIlpFRDmen42DsS+EgE6nY5MoIcSA6gCGxcZA2/T4PhQbofR9uPof7Gs3WIL9FEUyRgnxmDuSnLvTgoYOG1bkjW0pRw890Ue+llE6ho1grkT7+2/TrmZEAJgDYBUAM4DDQogjRHSZGVJFONAnxA+/p5LwZowN3FoyMjL6rEdFRTGpQn/apKens4mYwWBQUoD310Z8fLxPfOZAbbT16Ohon3jHA7VhNptZJsH+tElOTmYr03q9HtqNnYFsWCwWtgI+GN+joqJ8JsQDtTEEhu0pCkUQutK8IRRNyV7ZT0QE1xgXpVazempkm/K7K4PfdFV0xrP65TrvNbK6+GfflcJ1xF2qkOXOKK5PFprU3k6z10dDfBd7z+X02nV1aW4KNXGsu1q9UWISU7kyJjKJx8du71TFbNaMYaKRa+0jVbfg2vTmWoyt3vdNDfw9F99+AEfUIMfOMT7m9rDnUi2EAJbl3h2bvqckRyMrMQp7L9Xi+wsnhtqdMUEwV6IrAKh3zIwHUOnnmC+JqIOI6gHsBzBDa0gd4UCvSRghuQsY4/q8zz77jNX379/PwtFduXIFV65cUerd3d0+sZa1sYdPnz7N5As3b95kGmmXy+XTZvv27Uybe/HiRVy/fl2pV1ZWsljTAHziVe/atYvpqq9cucL0zW1tbdi3bx9ro+3/4cOHma766tWrLOazw+HAl19+ydp8/vnnTFd97tw5piu/desW00gTkY/vX3zxBbtZKSsrY7G2GxoacPjwYdZGa2Pv3r1MV629dl1dXdi1a5eP72pOnTrFdNWDJdhPUSRjmDE+5vawt6wWsybEIyE6fBIbBRMh3KHuDl6rR5fdGbiBJCDBnEQfB5AjhJgshDAC+DbcjxHVfALgXiFEhBAiCsACuMMwSSRuCO4d+72VUQ4RKVn+eujJeteDyWRicZL9ZQ5MSEhgyVYiIyNZZI3IyEi2qmyz2XxWZlNSUtDd7Y2soD2vyWRiNpxOp8/qdlJSEvNDa4OIes3Q2ENMTAxbRdba8Od7T4bG/vrucDh8PsPU1FSWsEVrQ5v1sacvat8TEhICXjttlJT4+Hi2KVR77SSSEWWMj7k91LV142xFy10j5ehheX4quuwuHL0u752Hg6DJOYjIIYT4KYAdcIe4e4OILgghfuJ5/1UiKhVCfAngHAAX3GHwzvduVXI3Qr1H0xr1CCEwdepU9sg/JSWFTTSTkpKY9jgmJgbp6enMzuTJk9nEMzExkU1wk5KSWN1kMvkNraaevGltJCYmsgmgXq/HlCk8TW56ejrbnJeYmMjkHLGxsSwZCwBkZ2ez/icnJ7NU2ElJSWx1Nyoqim3eA4CJEyey8wTqv8FgwKRJk5iNzMxMFtJOayMhIYFNvP1du9TUVJawJSkpiU3eLRaLz7WbMmUKS7aiPW9YoCfoYrw3KVmJ3o2umdEt7FBLBJdLzI7xJrmJ0vHwd0d12ayeEOmNyXZcx5MTdcdzrYKjTVXX8yVSYeSDRoTBe5NiNPIVOL0qB3abna8rUYtGH6E6TUsrl2Ro85Sbzd4bMp3mvbZkLpNymL3nNbTxiaq5VpNWXSXR0KouhHZxUfUx9BnWTsNYHnN72H/Z/bRrrGYp7I1FU5IQGaHDnku1d42MJZgENU40EW0HsF3z2qua+v8F8H+D6YdklDPG9Xla3a22HhER4RNrWRu/WFvX2tDpdD76Zu0xWhuRkZFsctcfXwfje39saHXVgfpvNpt9NutpV3cDnddoNLIbk8H6PtRrJ5GMOGN8zAXcoe1SLJEozIgNfPAYwmTQ457sJOwpq8U/oyjU7ox6ZMZCSXhDgHD1XsYC9fX1rN7c3MykCZ2dnUxnTEQ+bbT1zs5OFlqts7OThbjz10Zbb29vR1dXF6t3dnayY9TaZcCtG1brqq1WK/Pd4XCwcH3+ztvW1sbadHR0sL4Qkc95tTY6Ojr6tOHP9/r6eibF0Nro6upCW1sba6O10dTUxOQs2mvncrnQ0MB3g2l993ceiWTEuAvGXIfThf2X67A8NwW6uyC0nZYV+am42dCJ6/Uy/vtQkZNoSZgj3KsivZX+WBBijRCiTAhxVQjxyyA7PCCICMeOHWOTt/LycjY5u3PnDtsk2NTUhMuXWQAbnDhxgk3erl+/jtpabxijqqoqttHOarWyjXYAUFJSwiaaFRUVbINbfX09ysvLlbrT6fTZaHj16lU0NjYyG2rfGxoa2EZDAH77r55YVlZWMhttbW0oLeVbJ06dOsX0zDdv3kR1tTdKRE1NDW7e9MoKbDYbTp8+zWyUlpYy2Yi//qs3Gvq7dteuXWO+9+faHT9+nGmitTYkkpFlbI+5AHDmdjNauxx3nZSjh+W57n7vLZOh7oZKUOUcEsmwMITVD1XmzPvhjgZzXAixjYiGLyXcEBBCYPny5Ux6kJ+fzzS/kydPZqu3iYmJmDGDB7G59957mfRg8uTJmDx5MqurJ9VmsxmLFi1iNubPn8+kBZMnT2a64UmTJjENtF6vx7Jly5iNadOmMd3w5MmTmRQjLS3NJ5GItv85OTlMr63uB+DWVc+ZM4e9tnjxYnYere/az8NoNPokfZkzZw7TM0+ePJklWxk/fjxycnKUuhACK1as8EmUotY8T5482SfZyvTp09l5ly5dymQzWl/DApeAq9P799Xt9P4eoVmeLIziQZgS9d4nILE6rpeeEX2L1Q+2ej/fcXFca22N5rKYhkiv7MVu57KjiSn8aYde5aM21nG0wavT7orj52jt5hIotTq5tpHLAKKiuN67q9try9bG5UiGdr5+pU5prtUuW9O4v6TqqkujBdemKWeozQRaPhvDYy7glnLodQKLpyYHPngMkpUUhSkp0dhTVocfLQ6zsWaUIVeiJeHP0MItKZkzicgGoCdzpkQikUj8EYIxN9DqtXDzvOf9c0KI2f7s9Ic9l+owZ2IC4syGwAePUZbnpuJIeQOsNhnqbijISbQkvCFAuESvBUCyEOKEqjytsdCfzJkhRRvyLDk5mUkEIiMjfTabacOz+QvXppYI6PV6tsra23nVWCwWtrrrdDp9ImtobWjrZrOZbegjIp/zaNukpKQwXbXRaGSh5fz5qq0nJib6ZFMM5Ku2Hh0dzTZjulyufvVfG+JOu6ExkO9paWlMmiORjCghGHNVq9drARQC+I4QolBz2FoAOZ7yNIBXBtM9h9OFaePi8OjMzMAHj2FW5KfA5nDhcLmUjg2FgJNoIcRPhRAJgY6TSIJG36si9T2JeDxlg6Z1fzJnhgwiwoYNG9jEa/v27Uy/fPr0aZw8eVKpNzQ04IMPPmB2Xn/9dTbx2rt3L0tQUlJSwhKFWK1WbNq0idl49913mfTg6NGjTDd95coV7NmzR6k7nU689tprzMbHH3/MZCMnT57EqVOnlHpVVZVPcpWNGzey/u/cuZNpr8+cOYNjx44p9dbWVmzevJnZePPNN5km+ptvvsGFCxeU+sWLF3HgwAGlbrPZ8OabbzIb77//Pktyc/z4caabvnHjBr766iul7u/aff7550xHferUKdb/uro6fPTRR+y8r732Grvh2bNnD9NNv/jiiz6bMSWSoDLyY25/Vq8fBbCJ3BwBEC+EGHB6zwi9Dv/x5HR8d8HdnbFv/uREmA167C2rC3ywpFf6o4lOh1vTdArAGwB2kPpbQyIJMmJof239yZwZMoQQeOKJJ5iudv78+cjK8sbILSwsZJOopKQkLF++nNl59NFHmSa6sLCQaY8LCwtZxAez2YyHHnqI2VizZg3TRBcWFqKgoECp5+fno6jIGxJJr9fjscceYzaWLl3KVmsLCwvZanZmZiYWLlzI2jz++OOs/zNnzsTUqVOZDfVqbmxsLO6//35m45FHHmHn0fpeWFjIbkyMRiPWrVvHbNx///1stb6wsJBpoqdMmYKZM2cqdX/XbuHChaxNYWEhuzFJSUnB0qVL2XnXr1/PNNHaa1ddXY158+Zh9uzZABArhBAjPga7BHSdXh9rW71PBhJNfId/jYk/8YjXeyO6JOl5hJhsI9/YVGHyruy32PkKfnVdGqvbbb1/fVU0xrN6ZoL35igrht+QOFUa6QgdFwN32rmWubXLmzjH6eBrUE4Xr9u7vf5F3tGEaLyjiWutupzWFE3KcpMmTnS0t66z9a6XBgCXQXVst0p3jb4JwZjrb/V6QT+OGQegSn2QZ2X8aQBsHJVwIiP0WDzVHeqOiNg4Juk/AVeiiegf4H588jqAPwJwRQjx/xNCZPfZUCIZDoaePas/mTN7RQjxhhCiVghxXvXaPwsh7gghznjKgwPtlkTSX/793/8dV65cwY9//GMASIYcgyXBJDRjbn9Wr/u1wk1EG3pWybWZTSWcZXmpuN1oRfldHuruTrMV1S1dgQ/0Q7800Z5Vj2pPcQBIAPCBEOI/B3VWiWQgDGGTCxE5APRkziwFsIWILvTdivEWgDV+Xv81Ec30lO1+3u836pVLf/Xo6GjExvJIANpsg9q6NqNfZGSkj35Xex6tjYSEBB89byBftfXY2FgfPbO/TIl91c1ms0+q8ED9T01NZUlOIiIikJbGVzIDnTcuLs4nEcpAfR/MtRs/fjy0C81CiJ6oH3bIMVgSbEZ+zO3P6nVYP1UcjSz3ZCzcc+nuDnW3Yd81rPh/e9HtGPgmy/5oov+7EOIkgP8EcBDANCL6UwBzADwx4DNKJANkqIH/iWg7EeUSUTYR/e+BnJuI9gNoDHjgEHjhhRdY/YMPPkBlpfe74fjx40wT3NLSgrfffpu1efHFF9lmvN27d7NYymfOnME333yj1G02G159lSUPxYYNG9Dd7Q3TdejQIaYJLisrw44dO5Q6Efn4/u6777I40UePHmWxpGtra/G73/3Op//qSeOnn36K69evK/WTJ0/iyJEjSr2zsxOvv/46s/Hyyy8zXfG+fftQUlKi1EtKSrB3716l7nQ68dJLLzEbb7zxBpNeHDlyhGnRb968iW3bvAtq/vq/ZcsWFp9ae+2amprwzjvvsDYvvviijyb80qVLSv3555/HnDlz8Dd/8zcA0I4QjMH6bsByXaeUrupopdxuTWClxhbLSrUjTinxuu4+y5TIWqXMibvJSl5yLSsul04pRIIVW3cEKxUN8UqJM1hZqbValFJal8ZKh83ISpfNoBQttsuxrBhvRColshm8tBArxjZvibCCFS2uCFUxECs6G1iJaBdKia70Fr3d166aEIy5/Vm93gbgB54oHQsBtBBRldaQpP9MSIzC1NQY7Lt89+qiiQh7yuqwKDsJkRH6wA009EcTnQzgcSK6qX6RiFxCiIcHfEaJZKCEpwL/p0KIHwA4AeCviGhQO7+ICGvWrGGatDlz5kD9GDInJ4dpoqOionDvvfcyOz02epg6dSrTFU+dOpVlytPpdFi9ejWzsWrVKqbNnTp1KrKzvYqBKVOmIDc3l/n+4INcybJ48WJYLBZmQ61VTkhIwLx581ibtWvXsnpxcTFb0c3JyWF6b6PRiBUrVrA2DzzwAKtrfZ86dSpLlAK4PzM1K1asQGRkJGuj9iMzMxPFxcU+vquv3bx589iKf05ODpuYx8TEYPHixT5+qG1or119fT0++ugjTJw4EUKIJiKyA3IMlgSRER5zicghhOhZvdYDeIOILgghfuJ5/1UA2wE8COAqgE4APxpZL8cmK/JS8Pahm+i0ORBlvPtSh5TXd+BWYyf+272Di5fdH030P2on0Kr3Sv29LpEMFyJwuKVQ8AqAbAAz4d7U8l+9HSiEeLonFJQ2RbTnfZjNZrapw2AwMClCoDrglmuoJ8CB2kRERLDJLeCenKonq4Fs6HQ6NukcrO8mk2lA/Y+IiPCxYTQaB9R/vV7v1/eB9F8IMWDfe7t26nB82mP+9V//FRMn+o8kIMdgyXATqjHX3+o1Eb3qmUDDE5Xjzz3vTyOiE31blPSH5XmpsDldOHS1IfDBY5Ce6CTL8waXvVLGiZaEPUN9tDjcEFENETmJyAVgI9zhmXo7NuAmF23sYW3dbDb7aHO1+l5tPSUlxWdyp9UVa8+jtREbG+sz0Q7kq7YeFRXlE+Nae55ANkwmE1vd9mdDW09MTGQTYr1ej8TExAGdNyYmxkcTPlDf+9P/QDYlkpEm3MZcSfCYOykB0UY99tylKcD3ltViamoMJiRGBT7YD3ISLQl/hpY9a9jRxCZ9DMD53o7tD+r4xYBbA9ze7g0FduvWLdy65U2PbLfbWcxnfzbKyspQU1Oj1CsrK3H16lWlTkQ+bQ4cOMAkIeXl5aiq8koO6+rqmM4aAPbv38/qR44cYbrqW7dusdByVqsVx48f79P3c+fOMfnK7du3cePGDaXudDpx8ODBPm1cvnyZ9b+6uhpXrlzp0/eDBw8yXfWNGzdQUVGh1FtaWljcbH82Tpw4gc5Ob0i3mzdvsv7bbDam7/bn+6VLl1is7bCAAH03eUuHTilWm4GVG+2JrHQ6I5VywZbOyh1HLCs64VJKu9PEik4QK5YYq1K0mmhqMbJiazIp5UzDeFZauk1K6bIaWWlsjmalq9OoFOqIYEXYwUpsubeY6okVW6zgxeItJMCKvkuwYq7RKcXYxIuhXbBibPOWyGZSigi0fyrMxlxJ8HCHukvG3rI6nw3NY51OmwNHyxuVDZaDIaiT6EBpPFXHzRNCOIUQTwbTH8kohEK7KiKE2AzgMIA8IUSFEOLHAP5TCFEihDgHYAWA/zFY+0QEm83GBi+dTscmoi6XiyVSsVqtTLoAAA6Hgx1jt9uZTZfLxSaI3d3dPhn9dDodrFbvTian08lsEhGrO51OZhNwSy36stHV1eVzXq2v2vP467/WRs/n2Nt5tTa0n3l/fPfnp/Y1nU6Hri5vqKT+XDu73c4+R61NiWRECfGYKxl5VuSn4k6zFVdr2wMfPIY4dLUBNqcLK/IH//QvaCpyVRrP++EOTXNcCLGNiC76Oe4/4N5QIJH4EsL5BBF9x8/Lr/t5bVAIITBt2jQmvRg3bhzbnJaWlsZkFbGxsT4a2cLCQiZfSEtLYzIBbd1kMiEnJ4fZmDp1KpMeaNukpqayul6vZ8lXAHdyA7VsROt7QkKCTxi44uJi1v+MjAy2sTItLY2t7sbExGDKlCnMRl5eHjtPoP4bjUaWjAUAJk+ezMLxadskJycjI8P7EMLftRs/fjyTjaSlpbGNhXFxcT4JIIqKitjEWnteiWTEkfdwdxXL8zyh7spqkZNmCXD02GFPWS2ijXrMnTT4pNzB3IqppPEEACFETxrPi5rjfgbgQwDzIJH4YYjZs8Ie9eTXX12n0/msvAZqo60LIXxWQAO10ev1PlmsBnpenU43ZBuD8V1bH6zvw/G5D9VGOKBzAKZG7zKkPdp7PdriuZawM4Ynbjjf5o1Z3mDn2v5JJr6ZqcXp1aBf6+CPWCM0y6AZsa3K7821/Ivf2Mg/c0eMdxC5VcnjpYsIr11Xp+ZaNPG6OgNgZAs/h6keHNXTBE23YYvn/xN6VSg7nYMfG1PO+90d623blcztaGUaelX+CLUPFOAZ9FgfcyWcjDgz8tMt2HOpDk8vvTtyOBER9pbVYfHU5EGFtushmHKO3lJ0KgghxsGtKeUBayUSNWNcn6eO79yD+vG+VjJBRD6P+7V1g8HAZAUOh8NnMqs9rz+b6tesVqvPRkOtby6Xy0fyoD6vv75qX9Pr9UyaobXZm69qdDqdj3xDO5n157vWptqu3W73mcz7uzbq1wJ9pv6OMRqNbOVdIhlxxviYK/FlRX4qjt9oRFtXgCDiY4Qrte2402wdkpQDCO4kuj8pOp8F8Asi6nObgzpMmFO14UpyFzDG9XlEhC+//JJNpM6cOcMSdly7do1timtqasLRo0eZna+++opNGs+fP882xV2/fp0l8LBardizZw+zsW/fPiY9uHLlCoutXFVVxTbWOZ1OfPXVV8zGiRMnUF/vXZK7evUq8722thanTp1ibbT9P3v2LEs2c+3aNVy+fFmpt7a2ssQxALBr1y428S4tLcXNm97InLdu3cLFi96HYDabDbt372Y2Dh48iJaWFua7ejOmtv/+rt3p06fZhkZt/xsaGljyFQDYsWMHm3iXlJSw/kskI8oYH3Ml/lmRlwqHi/DNFe0jlbHJ154sjT1SlsESzOeG/UnRORfA+56VqmQADwohHES0VX0QEW0AsAEAIrMmyHvhuwiBsT1wCyGwevVqtlpbXFyMceO8D22mTp3KolUkJiZi7ty5zM6qVauYDCA7O7vPZCtmsxnLli1jNpYsWcJC6WVnZ/skW1HrqPV6Pe6//35mY/bs2UzPnJ2dzVav09PTMX36dNZG2//8/HxMmjSJ+a5eAY6NjcWiRYuYjRUrVrDzaH3XJlsxGo1YuXIls7Fo0SLExcUxG2r9dlZWFvLz85W6EAIPPPAA83369Oks5frUqVPZjUlycjLmzJnDznvfffex/mmvnUQykoz1MVfin9lZ8YgzG/D1pVqsnZYRuMEo5+tLtSjIiEVGnDnwwX0QzEm0ksYTwB2403j+ofoAIlJSxAgh3gLwmXYCLZHIR4gSSWghPWCzeB9cOlQyaF0nl7jcqY9n9S6H92vmZhvfwNOawL/Axpu8N4su4g8zu5z866ql26T8LiL5w0yniR8bdUflezNPsmNL8M4YDZ38nJFNWs2xtx5zh880dQ4+UHUles9pTdf0ZRx/ZG6s9vprruPH2qJ5nemZNWOj3cJfsMeoYsV3eH+nQBJQOebedUTodViam4I9ZXVwuQg6XciSmQWdlk47Tt5swk+WTQl8cACCJucgIgeAnjSepQC29KTx7EnlKZEE5C54tJient5n3Ww2s6gRAFiUCH/19PR0JjMwGAxISEjwOaYvG3FxcSyrn8vlYqus/fE9OjraJ9mIP1+176t995dsJVD/k5KS2OquTqeDNtlNIN8tFgtLtkJEAX0fjmuXmZnpVzsukYwId8GYK/HPirwU1Ld343xlS+CDRzH7r9TB6SKsGGSWQjVBjRMdKI2n5tg/IqIPgumPZJQyhje5EBFeeOEFNmncunUrS65y/PhxpoFuaGjAu+++y+y89NJLTBO9e/dupgE+c+YM0xFbrVZs2LCB2XjttdeY9ODQoUNMv1xWVoYdO7yRKJ1OJ1588UVmY/PmzSxRyLFjx1hylcrKSnzwAf831/b/888/Z1rkEydOsAQlra2tePPNN5mNV199lWmi9+/fj3Pnzin1kpIS7N27V6nbbDa88sorzMZbb73FNNFHjhzBiRPezMLl5eX4/PPPlToR4fnnn2e+f/jhh0yLrr12dXV1eO+999h5X3zxRaaJ3rlzp09SG4lkRBnDY66kd5blpkAIr154rLLnUi3iowyYlTX40HY9hF8sJYlEw1he/RBC4KmnnmK62oULF7JYwsXFxUwTnZSUhFWrVjE7jz/+ONNEFxUVsRjORUVFLAui2WzGunXrmI2HHnqIaaK1NgoKCjBt2jSlrtfr8eSTPD/SihUrWNrqoqIiplXOzMzE4sWLWRtt/2fPns2018XFxcyv2NhYrFmzhtl49NFH2Xn89V89uTUajXjssceYjTVr1jBNdFFREdNEZ2dnY/bs2UpdCIFvfetbzPfFixezNsXFxezGJCUlBStWrGDnfeKJJ9iqudZ3iWSkGctjrqR3kmIiMWtCPPZcqsVf3JcbaneCgtNF2Hu5DstzU6AfBsmKnERLwhu5+iGRhBxXBI9JrI67rJ1wOToMrN6mkgQZI7h2+WprMqs3dHulPzeaE9EXalvk5F+GUdW8Hn9VE3xZ7a/Z+0A2wqoJexih0SerdeEm/p49WpOJU6VA6krj5zcnWFldJHo/z9ZKLv+xXO1dwOwy9F0XTKfdzwmDHHPvalYVpOH/7ihDbVsXUi2mwA1GGWduN6Oxw4aVBcOT0Cqocg6JZDgY6/o8bQY/bT06OhqxsbEDapOZmclWSCMjI1kWxP7YSEhIYJrg/rTR1i0Wi48meKA2zGYzy4LYnzapqakwGLwzCr1e75MFMJCN2NhYtgI+GN+jo6N99NwDtTFYhBBvCCFqhRDnVa8lCiF2CiGueH4O/XmmZMwx1sdcSe/06IT3XqoLsSfB4etLNdDrBJblDC20XQ9yEi0JewT1XsYCWn3vp59+ynTFZ8+exZkzZ5R6R0cHtmzZwtq89dZbTJt74MABpiu+cOECi0/scDiwadMmZuPdd9+F3e6NGnDixAlcuHBBqV+/fp3FliYivPHGG8zG73//e7S2ejPJnTlzhmmTGxsb8cknn/TZ/x07djDpRUlJCU6ePKnUu7q6sHnzZtbm7bffZpvxDh8+jLKyMqVeVlaGQ4cOKXWXy+Vz3vfee48lqDl9+jRKSkqUemVlJdOEA/Dp/9atW1kowbNnz7LY0m1tbT6acO2127dvHwvHNwTeArBG89ovAewmohwAuz11iYQx1sdcSe8UZFiQEWfCrtKawAePQnaX1mLuxATERRkCH9wPpJxDEt4QgDG8+kFEmD17Nsvsl5uby1YvMzMz2YqwXq/3ibU8Z84cuFwuRVubkZHBoj5kZmayusvl8olX3ONHDxkZGSzaRFpaGotfTUQ+8aqnTZvGtMkZGRmsbjabWaxl9Xl7+j9p0iQkJnof5WdmZqK7u1upCyEwc+ZMn/47nU4lK6HWd3/9nzdvHrMxa9YstnqvtREfH8/iVxMR5syZw3zPz89n0UgyMzOZJtpgMKC4uNin/31du8FCRPuFEJM0Lz8KYLnn97cB7AXwi8DGwP4PXSqFgdBIKSIa+ddKJ3k/j64oLmvQpuu+Zfa+72rlX3J6a+9rPiZNCu7YG1yWYTl5R+WwJnNnnPdJidBERXFoYshGJHj/llsn8n46NeFm7SrJi87CQ9pNSGhm9aYub+POaO57+0Tur87urUd08Pc0UQHhiPP2R2fX93ocN4IxPeZK+kYIgZX5qfj49B102Z0wGQafEjvcqGjqxKXqNvzdg/mBD+4nciVaEtYIBG9VRAjxlBDighDCJYSY28sxQX0kLoRAUlISm7xFR0ezSXNUVBSbmJlMJh+JREJCAtucpm2jrRuNRraJDnDLF9QT3kA2dDodm+wCQExMDEwmU69tzGazj0TCX//7Om9kZKSPRCI+Pp7JNwL5HhER4SMRsVgsLKSfPxtq3/1du5iYmAFfu8TExD6v3TCTRkRVAOD52WuMJ5Yp1trR22GSMUYwx1ygf+OuJLTcV5CGTpsTR8obAh88iuiJOrJqmPTQgJxES0YBQRzQzwN4HMD+Po55C0F+JK6diGrrkZGRbGLanzbamNARERE+E89ANmJiYtikuj9ttHWTyTRg37V1o9HoM6kM1CYuLs4nTrT2piGQjaioKDapHozvJpPJR1c+UBuhgog2ENFcIpqrN0cHbiAZMwRZztGfcVcSQhZlJ8Fs0GN36dgKdbertBaTk6ORnRIT+OB+IifRkvDH1UcZAkRUSkRlAY7ZD6BR8/KjcD8Kh+fn+qH4odYMA279rtXq3b1fW1uLujrvJg+n08m0ygCYdhcAbt++zcLiNTQ04M4d7yNtImJa3R4bajlHZWUl6uvrlXpTUxOLXw3Ax8aFCxeYrlrre3d3N9MqA779Ly8vR1tbm1Kvq6tDdXU1813bX229oqICjY3ey9bQ0MB01v58LykpYbrq6upq1v/29naUl5f3aePSpUtMV11TU8P07Q6Hg8Xv9uf77du3me/DTI0QIgMAPD/H1rekZHgI0pgL9G/clYQWk0GPe3OSsbu0hn0njGbaux04cq0Bq/KHnmBFjdRES8Kb8NzMwh6JCyEG/V9JRKiqqmK62o6ODrS1tSkrmO3t7WyzXltbG4v5DLgnaw6HQ4kV3dLSgs7OTuX99vZ2NjHt6upCc3Mzs9Hc3Ayr1aqs+ra1tbE2VquVtXE6naip4ZtPenzvWU1ta2tjemZ/vldXV7P+t7a2oqOjQ1k51/qurQNAfX09bDabsnLe2trKztPZ2ck+Q5vNxibIPb6pz9vW1sbaaK8DEfn43tP/ntX39vZ2ponu7do5nU5l5bznOgSJbQB+COAZz89P+j7cjSBA772MMDV4JSxOTRQsp5H/w+pbvF8zTpdG39vJ13FcKn21qYZ/PUV0siqESjpsrufnNNfbWN1V730s7VLd5ACALsGrj3RYNMJmDfpu7yzSGcn70pbHdc8J6d6/lXQL/3uNN/Lra47wtk00845WtfLIPK3V3idKrkjN52fSzHIj1PV+alvDc8yVjDD3Fabhq4s1uFDZiuJxcYEbhDkHLtfB5nQNq5QDkJNoySggQFilZCHECVV9AxEpqfiEELsApPs2w98TUb8mEENBCPE0gKcBsAQqqvcxb948pqudNGkSS1gybtw4JmeIj49nyUgA9+Y0dbKVcePGsU2A2rrZbGaJUwB3kg/1ebRtMjMzWfg1vV7vs7Fw6tSpTI4wbtw4JglJTk7G5MmTWZu5c+ey/mdlZbENfePGjWPZCC0Wi8/mxBkzZrDzBOq/0WjErFmzmI38/HwmedG2SU9PZ9fQ37WbPHkySy8+btw4NolOSEjA1KlT2Xlnz57NpCfa8w4WIcRmuDcRJgshKgD8E9yT5y1CiB8DuAXgqSGfSDLmGMqYC4R+3JUMnZX5qRAC2HmxZkxMonderEF8lAHzJg1vVE85iZaEP32vitQTUa+bU4jovmH3x/NI3LMK3ecjcc+XywYAmDt3rlzfkYwYRPSdXt5a1cvrEombIYy5QNDGXckIkhwTiTlZCdh5sQb/4/7Rnb3Q4XTh67JarMxLRYR+eFXMUhMtCW8oLAP/9zwSBwbwSLw3tNEaLBYL0+ZGRET4bPDTbhLU1hMSEtjqLQCfzXn+zqvGbDYrIeMAtwRCu2FRayMmJoZp6AwGA/OdiHzOo7URFxcHh8Mb6kyn0/lsTgzUf+1n6HQ6A55XW4+MjGSr+w6HwyeiR6D+a6+dv/772/CplsBIJCNKeI65khBwf2EaLla1oqKpM/DBYczxG01o7rTj/sLhlXIAchItCXMEgjegCyEe8zzmXgTgcyHEDj/HbAZwGECeEKLC8xj8GQD3CyGuALjfUx8URIT333/fJ1GKehPghQsXcP68EmEPDQ0N+Oqrr5id3//+92ziefToUVy/fl2pl5WV4fTp00rdarVi69atzMYnn3zCpAdnz57FpUuXlPrNmzdx+PBhpe50OvG73/2O2di9ezfbSKj1vaqqCvv27WNtfve737H+Hzp0iG1gLC0tZZsPW1tb8fnnnzMbH374IbtpOHnyJEs2c/XqVZw44X0CbbPZfJKebN++HS0tLUq9pKSEbQKsqKjAN998o9T9Xbv9+/ejsrKy1/7X19dj165d7LxbtmyB0+kV+B45cgQ3btxAOEEASO8tpjpSipIm2lN0Dl4M7UIpiHDxktLNi+o9l4FY0dqNu+FUSkJJKyvGG/WsqNEX5LBiS45WSmemiZXupEhe4iOUYk0lVuLT2liZlXpHKROim1iJN1pZGR/VrJQlyddYuXdcOSux6W1KoUQbK7poOyuw6ZRij3MphfqQRwdzzAX6N+5KwoOeSeeui6M78crOizUwRuiwNHd4shSqkXIOSfgTJBEEEX0M4OMAxwT1kbgQAg8//DDT1c6cORMTJkxQ6nl5eSzSRlJSEhYtWsTsrFmzhq2a5ubmIi8vj9lQbwo0m8247z7+xHXlypUsDnJubi5yc72P8XJycpgWWa/X46GHHmI2FixYwPTcubm5bCU2MzMTs2fPZm0eeugh1v+ioiJMmTKF+a62ERsbi6VLlzIbq1evZsdofc/Ly2MTU6PRiDVreOTCpUuXsjB4ubm5TAM+adIklijF37WbPXs20zPn5eWxG5OUlBQsWLCAnXft2rVME629dhLJiBNE4Vl/xl1JeDAlJQZTU2Ow40IN/mjx5MANwhAiwo4L1bh3ajKiI4d/yitXoiXhDQHCRb0WiUQikQwjcsyVqHigKA3HbjSiqcMW+OAw5EJlK+40W/FAkb99rkMnqCvRQog1AJ6DO7bOa0T0jOb978KbcrYdwJ8SEQ+8KrnrGevhlrSRGLT16OhoJtUAwFZI/dUzMzNZ3Wg0+iTx0J5HayMhIYFpkYkooK/aur+ELdrz+LOhDhtnNpt9tMiB+p+amspW5vV6PVsh74/vsbGxTEdORP3yXU10dDTTlffHd23/wxG7xeubTvPdqu/mfqslALYE/pXjow6wez8rJ89zA5dBU4/wnqc7jev9zR2aMHZJ3r/97nSuQW+Z7P37tMdqPnONg+q+OGJ5em4tVVZvaLrZCbfZexY99y/D4H3StCb6Jnvv607+93G4eqK30qJJjd7B/9bUf3rq6xRIljHWx1xJ/3mgKB0v7bmGXaU1eGruhMANwoyvLlRDJ4BVBcMbH7qHoK1ECyH0AF4CsBZAIYDvCCEKNYddB7CMiKYD+Dd4ohhIJGrG8iYXIsKvfvUrpqvdsmUL0wQfOXIER44cUeoNDQ146623mJ1nn32WTbS/+uorpsU9efIk9u/3JgizWq146aWXmI1XXnmFSQ8OHDiAkydPKvXS0lJ88cUXSt3pdOLXv/41s7Fp0yaWXOTIkSM4evSoUq+srMTmzZtZG23/t23bxvTMx44dY1rk1tZWbNy4kdl44YUXmCb666+/ZolQzpw5g6+//lqp22w2PP/888zGxo0bmSb60KFDOH78uFIvLy9nOvKea6fm/fffZ0ldtNeurq4OmzZtYm2effZZponesWOHTzIdiWQkGctjrmRgTBsXh8w4E3ZcqA58cBjy5YVqzJuUiKSYyMAHD4JgrkTPB3CViMoBQAjxPtyZ3pSdOkR0SHX8EQD8llsiAYKqzwsHvvWtb7H6PffcwzTRxcXFTBOdmJiIVau4JPuJJ55gutqioiIUFRUxG+oJsslkwqOPPspsPPzww2zltaioCIWF3vvegoICFltap9Phqad4mOGVK1eyOMlFRUVsJTojIwNLlizps/+zZ89msZSLi4uZVttisfjomdevXw+Dwbsqp/W9uLiYbdY0GAx4/PHHmY21a9ciNjaW2VCvEk+ZMgVz5szx8V29arxkyRK2Gq393JOTk7FixQpm44knnmCr1dprJ5GMOCM45gohEgH8DsAkADcAfIuImvwcdwNAGwAnAEegMHuS4UEIgQeK0/Hbo7fQ3u1ATBB0xcHiam07Lte0458e0a7fDh/B1ESPA6B+hlXhea03fgzgC39vCCGeFkKcEEKccGqyfUnGOGM83JIQQina1/pbH0ybcLExmn0fqWsnkYwoIz/m/hLAbiLKAbDbU++NFUQ0U06gR5YHp2XA5nDh60u9pkQIS748XwUAWFucEbRzBPOWwt+3gN/7WyHECrgn0Uv8va9OWBGZNWGMr0tK1LjDLY3tSx4MTXRGRgabiA1WE92Tery/vg6XJlqN2WxmK8T+bGjrKSkpTBMdERExYE20xWJhK+CD8X2wmuhwQ4Cn2VaHSNOm49YuzTjUcmXtv7KTf03our2NXZr04TYuZUbbBO+xllv82Mg4rpHWqRIsCIfGCZULNv5nBkc0P9YZ7Z1FUhT/n4zQ8xlmhM5bT4zoYO/FaDTR6RFeGVG1k8ef21Y/k9U7rN7H0jqN/tzYzOvsNKquCO46IwRj7qNwZ9YEgLcB7IV3r5QkDJiTlYBUSyS+KKnCuhmZgRuECdtLqjE7Kx7pcabABw+SYK5EVwBQq9DHA6jUHiSEmA7gNQCPElFDEP2RjFIE9V7GAtp4xTt37mTyjdLSUpSWlir1rq4ufPrpp6zN73//e6YrPnbsGNNVX716lWmEXS4XPvzwQ2bjo48+Ytrcc+fO4cqVK0q9oqKCxYnuOa+azz//nMkXSktLWazp1tZW7NjBw8Jq+79v3z7U1HjjkpaVlTGNsN1u94lx/cEHH7D+nzp1ioW0Ky8vZ/puIvLx/ZNPPmG66osXL6KsrEyp19bW+sS41trYsWMH01Vrr11nZ6dPjGtt/48ePcqunUQy0ozwmJtGRFUA4PnZ2w4wAvCVEOKkEOLp3oypn1yrY9ZLBo9OJ7CmOB17ymrRaevjDiyMuNnQgYtVrXhwWvBWoYHgTqKPA8gRQkwWQhgBfBvuTG8KQogsAB8B+D4RXQ6iL5LRCrlXwHoro52eiBfqCWB6ejpbRY2NjWVZ7ZxOJ9NMA0BWVhabAFssFtZGa8Nut2PSpEnMxsSJE2G323u1YbFY2IqwPz/Gjx/P+qK1IYRARgYf1LT9T0pKYlFBtL47HA5kZWX5+K5erQ/Uf4fD4dP/QJ+hyWRiq/k90TrUvmdmZrKVZ+15/UU4GT9+PDtvTEyMz8q7RDJiBGHMFULsEkKc91MeDdxaYTERzYY7WMGfCyGW+juIiDYQ0VwimqvenyEZGmuLM9BlHz2Sjs/OuaUca4qDE9quh6DJOYjIIYT4KYAdcIe4e4OILgghfuJ5/1UA/wggCcDLnkfPcrOAxJcxsuLsDyEEsrKymPQiMTGRTbzi4+PZRC06OhrJycnMzrhx49jEOz4+noWF09YjIyORns4Hl7S0NDZ5jY+PZ8lH4uLimA29Xu8ziU5OTmapsOPj45mcw2Kx+MhKtP1PSEhg59X6bjabfaQZGRkZbGOh1netDYPB4BMGMDU1lclXtDZiY2NZ2vP+Xju1X/6u3fjx49mmUK2vEsmIM8xjLhHd19t7QogaIUQGEVUJITIA+J2lEVGl52etEOJjuIMX7Pd3rGT4mT85ESmWSHx2tgoPTw9/Scdn56owKyse4xOiAh88BIK6zZKItgPYrnntVdXvfwLgT4Lpg2SUQ2NfE62edPmrGwwGH11xoDbaul6vZ5E3+tPGbDaziflgzhsZGckmkYOxYTAY2OS+P220WmQhBJvc98eGyWQasu9Go5Gt7g/GRjggnICx1ft/6FBJ5R3RwudYNfYYbztXHH8UbIzmQaZtOq/e11jD//ZI821lV31M3fH8oaqYqPniJG/dHs2P7Uz3+m9L4LpmfZqV1WPMXn+JeL9Tovmmd6PO29erVn7Tl2ZsZXWT8No938VvTG+1JbB6d5vqM7JyHwyafffCqRo71ZrovobUkR9ztwH4IYBnPD8/0R4ghIgGoCOiNs/vqwH860g6ebej1wk8NC0Dm4/dQluXHRaTIXCjEHGtrh2lVa34Xw8HLypHDzJjoSTsGeuaaK3+taqqimlzW1pa0Nrq/dJ1uVwsFjEA3L7Nkzk0NTWxNm1tbWhsbOzzvFobjY2NaFdFw2ltbWVabX82KioqmDShubmZ+WG321FVVdWnjbq6OnR2enertbS0sJTlROTjayDf+9P/W7dusRX/pqYmtLW1KXWr1QqtxlJro7Kykk2atf13Op0s1J4/35ubm5muWiIZaUZ4zH0GwP1CiCsA7vfUIYTIFEL0LMKlAfhGCHEWwDEAnxPRl0HxRtIrD0/PQLfDhV2lNYEPDiGfna2CEMBDQdZDA3ISLQlz3DvFx26IOyLC+fPn2eStsrKSTfjq6urYRruWlhafidfFixeZJvjOnTtswqu1YbVaWUITALh27RrbFFhbW8vaNDc3s8m70+nExYsXmQ3tebU2mpqafCaRFy5cGFD/29ra2KZBwL35UH3jUV1dzSa8DQ0NbPJus9nYpkHAPSFWT5q1vjc2NjLfB3Ptmpub/V479Y1HRUUFu2mQSEaSkR5ziaiBiFYRUY7nZ6Pn9UoietDzezkRzfCUIiL638PviSQQs7MSMC7ejG1nfGJEhA1EhE/O3sG8SYlBjcrRw+iJmi25OyEa03IOIQTuvfdepqvNzc1leuWJEyeyjWYJCQkoLi5mdu655x4mvZg4cSImTpzI6tXV3oxTZrMZ8+bNYzbmzJnDQrppbWRlZbHNeHq9HosXL2Y2CgsLmeZ34sSJTIqSmpqKvLw81mbJkiWs/1OmTGFh3yZOnAiXy/vtHRsbi5kzZzIbCxYsYOfx13913Wg0YuHChczGjBkz2Oc8ceJE5se4ceOQnZ2t1P1du7y8PKSlpTEb6huTpKQkn0Qq99xzD9NEa30NB1wRgDVFFcta9S9paOP/nzquXoHLoEoRbueyJHsc/wrSq6QgEZ1cquDiTeHSe8/bPp4fa03mYeK0bdWoJRzGcTwU3eRkHjDKpZJwNFq5ZMTp4mtSNpe3b3YX96ddk9P8gtX7d1bVxTeVdto0j81VYQCNLZpIspqh0prmP964NoU6tzG2x1zJ4NHpBB6ZkYmNB8rR0N4dtCyAQ+FCZSvK6zrwJ0umjMj55Eq0JPyhPkoIEULcEEKUCCHOCCFOhNYbiUQiGSbCdMyVhJ71szLhdBE+L6kKfHAI2Hr6Dgx6gQenBTcqRw9yEi0Jb8i9Oaa3EgYMOYOWNlpFYmIikwhERkb6bKxLSkoKWFfLO3Q6nU/YNO15tTZiYmLYxjqHw+ETWcKf72pMJhPznYh8zuPPD7W8wWAw+GyKDNT/+Ph4n6x/6sga/fHdbDYjMtK70uJyufrVf/W1MxqNA752KSkpPpsRJZIRI/zHXEkIyU+PRV6aBR+fvhP44BHG6SJ8eq4Sy/NSER/Vx+OnYUROoiXhzxheFSEivPHGG2zi9dVXXzHd7JkzZ3DmzBml3tDQgI8//pjZefvtt9mk+eDBgyxRyoULF3D06FGlbrVa8d577zEbmzdvZtKDEydOoKSkRKlfu3YN+/d7I0q5XC68+eabzMann36K2lpvhCqt71VVVfjiiy9YG23/9+zZwzTP586dw6lTp5R6a2urT5KTd955h2mijxw5wpKclJaW4tChQ0rdZrNh06ZNzMYHH3zANvSdPn2aJai5ceMGdu/erdT9Xbsvv/wSlZVeveDZs2dZ/+vq6vDJJzz4wFtvvcVuGg4cOOCjV5dIRpQxPOZKhs5js8fh9K1mlNe1Bz54BPnmaj1qWrvx+KyRy/oqNdGSsCeM9Xk9GbQIwG886ekZnsxaTwPwSRDieR/r169nq6Zz585lxxYUFLDNeklJSVi6lOcZePjhh5kmOj8/HwUFBcyGOkqE2WzGmjVrmI3Vq1czTXR+fj7y8/OVel5eHgoLvSGDdDodHn2U50pYvHgxi+Gcn5/PtMqZmZmYP38+a6Pt//Tp05n2uKCgwCf5ysqVK5mNBx98kJ1H63tBQQGLpGE0GvHwww8zGytXrmRxofPz85kmesqUKZgxY4ZS93ft5s+fz5KpFBQUsBuTlJQULFmyhJ33kUceYZpo7bULB1xGoHO8aleZ6ldDuzbMmib1tCpKnINnUUdkPV/H0XerTqHR7boiNCm4VXJMUzaPZqLX8R1w3Tbv/4atixvOSG1Wfp+TzDd9Jhh4TvM4VWdudPEnCBWd8aze1O19emLTpPK+6uRPNCxGb8er23mIw6Yq/gQp+qa3LzF3eD/bsvjn2Z3ovTmjKNXvhr7H1DAecyVhwGOzxuE/v7yEj07dwf98IC9wgxHiw5MViI8yYGVBb0kvhx+5Ei0Je8I4xF3ADFoye5ZEIhlthPGYKwkD0mJNuDcnBR+dqoArTG64Wrvs2HGhGutmZCIyQh+4wTAhJ9GSsEZ4Av/3VkKJOoMWgJ4MWgNGvdrprx4dHe2jZ9ZmCtTWtdn4IiMjfbS32vNobSQkJLAMfj1prgfiu8Vi8Uly4i9VeF/1qKgonwx+gfqfmprK9Nx6vd4ny2Gg88bFxbGV+cH4PphrN2HCBCYRkUhGknAecyXhw5NzxqOypQvfXK0PtSsAgE/PVqLb4cITs8cHPngYkZNoSdgTrE0uQoj/K4S4JIQ4J4T4WAgRP4C20UIIS8/vcGfQOj8YP5599llW37JlC4vHfOzYMaZnbmpqwltvvcXaPPfccywM3K5du1gM51OnTuHAgQNKvbu7Gy+//DKz8corr6Crq0upHzx4kGmRL126hC+/9OY3ICIf3zdt2oT6eu+gevToURw/flypV1dXY/PmzT79V08aP/nkE1y7dk2pHz9+nOmZ29vbsXHjRmbjhRdeYJrwvXv34ty5c0r93Llz2Lt3r1J3OBx4/vnnmY3XXnuNxYk+fPgwTpzwBl25fv06tm7dyvr/61//mtl4//33mSZae+0aGhp8tNjaa7djxw6m55ZIRppgbiwcyrgrCR/uL0xDfJQBvzt+O/DBI8D7x24jP92C6ePjAh88jEhNtCS8Ce5mlp0A/paIHEKI/wDwtwB+0c+2aQA+9uhhIwC8N5gMWkSE9evXg4gUbe2CBQuQkeHNtJSfn8800bGxsVi+fDmzo9Um5+XlsXjM+fn5bNOcwWDAQw89xNqsXbuW6Yrz8vKQm5ur1HNzc5lWl4jw2GOPMRvLli1jUTDy8vKYzZSUFCxatIi1Wb9+PavPnDmTxaPOz89nUTLMZjPuv/9+1uaRRx5hab61vufn5+PmzZtK3Z+e+/7772dRQPLy8tjKclZWlk986scee4xdu0WLFrE40fn5+UwTHR8f76NnD3TtwgFhcLEU2JYY7++NtXyl3dapeZSqWqqJSOxibzkaeeQS8x1vW0c0/8d3ab6tnAneCCbxUTw9d7KZx3tus3v/fqINPNX4AykXlN/XRPOblzqnmdUvdHv17jrBI7Ncqk1j9a4O7989uTTxmrv5ZyTM3htAoeP9Ft18rcug6lpkM8+xbk3RpD9XnVdnVh2r62NQDf4GwqGMu5IwwWTQ4/FZ4/HOkRshjxl9/k4LSu604F/WFflEZQo2ciVaEub0/lhxqI8WiegrIur59joCoN/PgYYrg5YQAhEREewfX6/Xs41mgeo9r6knkYHa6HS6oNkYqO/h1P+BnHekrp1EMrIEb8wFhjbuSsKL78yfALuT8PuTFYEPDiKbj91CZIQO62eOXFSOHuQkWhL+EPVegGQhxAlVeXqQZ/ljAF8EPCoIqFcu/dXNZrOPrlid0dBfPTU1lU3uDAaDT5xk7Xm0NuLi4tgKcH981dajo6N9YjxrzxPIhslk8tEVB+p/UlISi1ai1+t9YjwHOq/FYmGa8MH4HhUV5aOrDuS71oZEMuKMzJgLhHDclQydnDQL5k9KxG+P3oQzRHr51i47Pj59Bw9Pz0RcVF+pOIODnERLwpvAgf/re6JfeAoLMyeE2CWEOO+nPKo65u8BOAD8dmQ752bnzp2sfvjwYRaO7vr16ygvL1fqNpuN6Xv92SgpKUFVlTej1O3bt3Hp0iWlTkQ+bXbt2sW0uZcvX2bxqmtqaljcZMAd01rNvn37mK66vLycxXzu6OjAwYMH+/T9xIkTaGjwplu+ceMGi3ntdDpZvOYeP9S66osXL+LOHW8ygDt37uDCBe9jeyLy8f3rr79muuqrV68yCUhjYyPTSPecV83BgwfR3u6NnVpeXo7r168r9e7ubuzbt4+1CXTtwgEiwOnQKaW5JVopwuBihQykKS6luFw6VuACKy6jt2jfMzYLViLqDUqpbohj5XYrL92OCKVkRTWxkh9ZqZQ4nWBloUnPSlJEu1JquyysdNVEs2K8GakUOHS8aNDVRipFf8fEiqlOz4o1BUppmWJghXRgRR3f2WnVKwVaeQm72EMbc4HRMe5Khocf3DMRtxut2He5NvDBQeCjkxXotDnxw3smhuT8QdVECyHWAHgOgB7Aa0T0jOZ94Xn/QQCdAP6IiE75GJLc3QzhBpeI7uvrfSHEDwE8DGAVhSAkAhHBaDQyXW1UVBRLvhEREcEe93d3d8Ni4bFkTSYTHA6Hsvqq1+vZSmxERASTCPizYbFY0N3dray+BpIZOJ1On5Xa2NhY2Gw2Ja6z1obdbvdZmY2MjGT9165+a33v6uryWZmOiYmB3W5X9NdaX7U2HA6Hz+p+bGwsuru72Weo9h0A03cTkY/vMTExbCLe32vndDoV/3Q6HYssEgwCjc2Su5whjoThPu5Kho8HitKRaonE24duYmX+yD5Fc7kIm47cxIwJ8Zg+Pn5Ez91D0FaihRB6AC/BHUO3EMB3hBCFmsPWAsjxlKcBvBIsfySjF+Fy9VqGZNc9kfgFgHVE1Bno+GAghEB+fj6TXqSnpzPpRXJyMpMiWCwWltADAHJyctikWdtGWzeZTJg8eTKzMXHiRDYp9mdDHetar9ezzXuAO7SeeoKrtREfH+8jX8jLy2P9T01NZeH4tDaio6N9wsJNmTKFTXAD9d9gMLCELoA7tJx6gq9tk5iYyMLk9Xbt1OH4tDZiY2N9wg/m5OSwCb62zXDTz7FZchcTrDEXCI9xVzJ8GPQ6fG/hROy7XIcrNW2BGwwjey/XoryuAz+6Z9KInldNMOUc8wFc9WzAsgF4H8CjmmMeBbCJ3BwBEC+EyNAakty9COr9seIwhFt6EYAFwE4hxBkhxKtD93jgaFdztXW9Xu+zMhmojTrDH+Ce8GlXeAPZMBqNPiuxgdpo69oV4MHYGEz/IyMj2eRWCOHzmQSyYTAYhsV39c3NYGwEgf6MzZK7lCCPuUCYjLuS4eN7CyfCZNDhtQPXAx88jGzYX46MOBMemh66aWMw5RzjAKgDCFYAWNCPY8YBYIJAdepkAN03f/bXg4rHO8pIBhAeUcyDT9/xvIL0tI+IpgbF8ABR658Bt25YLc3o7u5Gd7c3LTARsXjGAHzqDocDnZ2dinTAZrMxrbK/82ptdHV1wW73hhHr7Oxk9d5suFwuZfKt9htwS0DUId/82eju7kZXV5cy6fXX/0C+22w2dHd3KyvLVqsVNhsPbaa10dLSwqQZ2v5r/fBno729nUkzuru72Xn7e+06Ojp8ZC/DSH/GZp9x98b3/n5MjLuHNfXBP/48o66MtvG6bwFpEBUW4TLuSoaPxGgjnpg9Hr8/UYG/eiAXqRZT4EZDpKSiBUfKG/F3D+bDoA/d9r5gTqL97VzQ/mf25xh4Ni5sAAAhxAkimjt098Kbu6WfgLuvvb5JAIZn9SMsISLs378f3//+95XJ26VLl1BbW6s89r958yaam5uxYIF7ntPU1ISSkhJm55tvvsEf/uEfKhPvy5cvY9q0acok+vbt22yDm9VqxdGjR/GDH/xAee348eN44oknlMnbjRs3EBMTo/hRU1ODsrIy5Xin04kDBw4wG+fPn0dDQ4Mi+7h58yaMRiOKi4sBAHV1dSwJDAC//V+4cCEmTpyo2Lhx4waWLVsGwD3pPH36NH74wx8qNg4dOoRvf/vbiqTj2rVrmDhxIhIT3bF8KysrcfXqVeV4m82GQ4cOMd/PnDmD9evXIy4uTjmv0+lUZC+1tbU+mzO1vpeWlqK2tlaJ833z5k10dnZi7lz3v3JDQwPOn+dz0QMHDuC73/2uMvEuKyvD7NmzMWXKFAQJOe4OM2Pq8xnjY64kOPy3e6dg87FbeO3AdfzdgwWBGwyRF/dcgcUUgW/Pzwr6ufoimJPoCgBq4eJ4AJWDOEZylyPG8L4TIQRWrVrFpAeFhYVMN5udnc2SrSQmJmLWrFnMzvLly5lsYMqUKWwSNmXKFNTV1Sl1s9mMJUuWMBuLFi1iq59aG5MnT2Y6Yr1ej5UrVzIbM2fOZLpprVY5PT1dmVD3oO1/bm6uMoHu6b9aVhIbG4v583mG9aVLl7Lz+Ou/um40GpVJeQ/z589XJtA9bdTJViZMmMA04P6uXXFxMUuUk52dzVbek5OTfRK2rFixgslGtL4GATnuSvpkLI+5kuAwKTka62Zk4t0jN/GTZdlIjDYGbjRILlW3YseFGvz3VTmINY18WDs1wVwDPw4gRwgxWQhhBPBtANs0x2wD8APhZiGAFiIKr9hOkhBDgMvVe5FIJAOlP2Oz5K5FjrmSwfHTlVNhtTvxm/3Xgnqe53dfQbRRjz9ePCmo5+kPQZtEezIS/RTADgClALYQ0QUhxE+EED/xHLYdQDmAqwA2Avizfpj2iUk5Rrlb+gn01VdCoMD/ox5/CTvUUZ9MJpOPPrY/SU/UMZ8jIiJY1Ij+2IiNjWWbEZ1O56CSjWiTrfTHd3X/IyMjfcLRBbKRmJjok11QHfGjPzZiYmLYJj8i6lf/h3rtMjIyWIjD4aa3sTlAs7tpPBoMY+fzuQvGXElwmJpqwfqZ4/DWwRuobukK3GAQnL3djO0l1fiTe6cgPip4q939JahqbCLaTkS5RJTdkxaZiF4lolc9vxMR/bnn/WlE1Ls21mtz7AxWfXC39BMI3Ncg7xQPKUSEl19+mU28tm3bxpKcnDx5EsePH1fqDQ0NeP/995md3/zmNyw+8Z49e5h+9+zZszh06JBSt1qteP3115mNt956i0kPjhw5gtOnTyv1K1euYNeuXUrd6XTi5ZdfZja2bNmC2lpv0P0TJ06wBCWVlZXYunUra6Pt/5dffolr17wrGadOncKxY8eUemtrK9555x1mY+PGjWwD3zfffMN04+fPn8eBAweUus1mw29+8xtm45133kFLS4tSP3bsGE6ePKnUr1+/ji++8CZXIyK89NJLzPetW7eyJC/aa1dXV4ctW7aw87766qts0rx7926mPQ8G/sbmAMffNePRYBhrn89YHnMlweUv78+Fiwi/3nl52G0TEf7jy0tIijbivy0NquSt3wQ12YpEMmQIgHPsPkIUQuCJJ55gutoFCxYgK8u7WaKoqIhpopOSkrBixQpmZ/369UwTXVhYiMLCQmZDnUnPbDbj4YcfZjbWrl3LVk21NvLz85meWa/X44knnmA2li1bxmIpFxYWMq1yZmYmFi1axNpo+z9r1ixMnerdwF9UVMRWs2NjY7F69WpmY926dew8/vpfUVGh1I1GI9avX89srF69mmmiCwsLmSZ6ypQpTIsuhMCTTz7JfF+0aBFrU1RUxG5MUlJSfLTYjz32GFs11/oukYwoY3zMlQSXCYlR+P7CSXjz0HV8b+FETBsfF7hRP9lxoRqHrjXgX9YVISYyPKavMu23JMzp47FiiB8tCiHWCCHKhBBXhRC/DKkzEolEMiyE75grGR38/L4cJEUb8b8+OQ+Xa3j+Zqw2J/7ts1Lkp1vw3QWhjcihJmwn0YEmKJ7NiM973j8nhJgdCj+HSj/6uVwI0eIJSn9GCPGPofBzqAgh3hBC1Aoh/Maa7fN6huEml+HM+jZnzpw+68nJyWxluj9tZs2axVZIzWYzCgoK+myjrefm5vqkqA7URlsfN26cj454oDbi4+N9sgsGalNcXMxWpg0GA6ZNmzYgG5MnT2aZIwfje2pqKluZHoyNUCJvFH0RQkwQQuwRQpQKIS4IIX7ueT1RCLFTCHHF8zMhkK2wJQzHXMnoIc5swN+uLcCZ281458jNYbH5/74qw51mK/5lXREiQhgXWosIx7T1ngnKZQD3wx2O6TiA7xDRRdUxDwL4GYAH4U4U8BwR+SQMCGf62c/lAP4nET3sz8ZoQQixFEA73Bkqi/287/d6xkWm0z3jvter3S+v/9fJUMRnFUIsAvDPRPSAp/63AEBE/6e3NnPnziW1PlgiGShCiBH7e+/P+HQ34smqm0FEp4QQFgAnAawH8EcAGonoGc8NRwIR/SJ0ng6OcB1zB4Mcc0MHEeGP3jyOY9cbsf3n92Jy8uCTRx273og/2HAY31swEf+23mf6EHT6GnfDZzrPuVtSht816XeJaD+Axj4O6eV6EuBy9l5CR2/ZNiWSscJdMz4NBCKqIqJTnt/b4I5wMg7uz+Ztz2Fvwz2xHoWE7ZgrGUUIIfDME9Ng0Av89L1T6LIP7m+nob0bP3//NCYkROGXa/OH2cuhE66T6P5MUMbCJKa/fVgkhDgrhPhCCFE0Mq6NOP4/CwLgot5L6OhX1jchxNNCiBNCiBPqZCcSyShgLIyxQUUIMQnALABHAaT15Dnw/Ezto2n4Er5jrmSUkRFnxq++NRMXKlvxdx+XsEhG/cHmcOFnm0+jocOGl787G9FhsplQTbhOooctZXiY058+nAIwkYhmAHgBwNZgOxUiev8swlOf16+sb0S0gYjmEtFcdSY/iWQUMBbG2KAhhIgB8CGAvyCi1lD7M6yE55grGYXcV5iGv7gvBx+duoNnvrzU74m000X4H1vO4NC1Bvyfx6aheNzwRfkYTsJ1En23pAwP2AciaiWids/v2wEYhBDJI+fiiOH/syACnM7eS+iQWd8kY52xMMYGBSGEAe4J9G+J6CPPyzU9kkLPz9re2oc1IzzmCiGe8mzQdAkhetVay02uo5efr8rB9xdOxG/2leOftl2AM8ATDavNiZ+8exKfn6vC367NxxNzxvd5fCgJ10n03ZIyPGA/hRDpwhNmQQgxH+5r1jDingaf3q9nGIZbGmTWN4lkNCFvFP3gGY9fB1BKRL9SvbUNwA89v/8QwCcj7duwMbJj7nkAjwPY39sBwxkNSTLyCCHwL+uK8P8tnYJNh2/iD35zGFdq2vwee/JmI9a9+A12ldbgnx4pxP+3LNvvceFC+AlM4J6gCCF6Jih6AG/0pAz3vP8q3CnDH4Q7ZXgngB+Fyt/B0s9+PgngT4UQDgBWAN+mcAypEgAhxGYAywEkCyEqAPwTAAMQ6HpS2Ab+9zwZ2N7f40+ePFkvhFDH+0kGUD/sjgUH6evwMxg/JwbDEX/0Nj6N1PnDmMUAvg+gRAhxxvPa3wF4BsAWIcSPAdwC8FRo3BsqIzvmElEpABaS0w/KJlfPsT2bXO/qSDGjCZ1O4G8fLEB+hgX/vO0iVj+7H8tzU7B4ajISo42obu3C3kt1OHajEZlxJrz9o/lYmhv+EsiwnEQD/icoPenCPb8TgD8fab+Gm37080UAL460X8MNEX0nwPv+rycBROE5iR4oRMRGBCHEidESKkr6OvyMBj8HeqN4N0BE38C/XhwAVo2kL0EhPMdcf5tc/Ya0FUI8DeBpAD7x9SWh57FZ43FvTgo2HbqBD0/dwZ4y74b77JRo/P2DBfjOgqywyUgYiNHhpeTuJkxXoiUSiWRMMsxjrhBiF4B0P2/9PRH1R/bS702uRLQBwAbAHSe6305KRozkmEj85eo8/OXqPNS1daPT5kCc2YD4KGPgxmGGnERLwhsiuSNcIpFIRoogjLlEdN8QTchNrmOUFEskgMhQuzFo5CRaEvZQkKJwCCH+DW5dnQvunfR/REQjOTBvGMFzDRXp6/AzWvyU3GUEa8wFBj3uKptcAdyBe5PrHwbNSYmkn4RrdA6JxA15Nrn0VobG/yWi6UQ0E8BnAP5xyP4OAM9jx1GB9HX4GS1+Su4ygjvmAr7j7huezeaLAHwuhNgBAEKITCHEdrdLMhqSJDyRK9GS8CdIm1w0CRKiIRNJSCQSSdDGXMDvuHudiNb4Oa4S7ohNPXW5yVUSdshJtCSsIaJgP1r83wB+AKAFwIqgnUgikUhGAcEecwE57krGDlLOIQl7yEW9FrjjTp9QlafVbYUQu4QQ5/2URwGAiP6eiCYA+C3cjwtHhHDOviWEeEMIUSuEOK96LVEIsVMIccXzMyGUPnp8miCE2COEKPVkPPt5GPtqEkIcE0Kc9fj6L+Hqq0QylDEXCN9xVyIZbsQozNsxphFCzIM7G9Z8uBMcHAPwB0R0vs+GYxQhxJdwJ6XojXp/jwIHcZ6JAD4nouKh2urHufQALgO4H+5d58cBfIeIwiJxgBBiKYB2AJt6Pg8hxH8CaCSiZzyT/gQi+kWI/cwAkEFEp4QQFgAnAawH8EcIP18FgGgiahfulNHfAPg53JnawsrXuw055nJGasz1nCuo464Qog7ATT9vjZaETMDo8XW0+AkM3NeJ2jwPPchJdBgihPh3ACYAZgAVRPR/QuzSmEQIkUNEVzy//wzAMiJ6cgTOuwjAPxPRA5763wJAOF1nIcQkAJ+pJtFlAJYTUZVn8rqXiPJC6aMWIcQncCcmehFh7KsQIgruSfSfAtiEMPb1bkGOuSNHqMZdjQ9hn+ioh9Hi62jxExheX6UmOjz5V7hXJ7sA/PcQ+zKWeUYIkQd3qKWbAH4yQuftd/atMCKNiKoAwDPhSw21Q2o8k/5ZAI4iTH31PIE4CWAqgJeI6KgQIix9vQuRY+7IEapxVyIZduQkOjxJBBADwAD36khHaN0ZmxDREyE6db+zb0kCI4SIAfAhgL8gola3ciL8ICIngJlCiHgAHwshgi4dkvQbOeaOECEcdyWSYUduLAxPNgD4X3BvuviPEPsiGX5GY/atGo/coEeLXBtifwAAHn3xhwB+S0QfeV4OS197IKJmAHsBrEGY+3oXIcfcu4vRFKN9tPg6WvwEhtFXOYkOM4QQPwDgIKL3ADwDYJ4QYmWI3ZIML0r2LSGEEe7sW9tC7FMgtgH4oef3HwL4JIS+AFA2670OoJSIfqV6Kxx9TfGsQEMIYQZwH4BLCENf7zbkmHv3MZoSHY0WX0eLn8Dw+io3FkokIUAI8SCAZ+GOBvAGEf3v0HrkRQixGcByuHcw1wD4JwBbAWwBkAXgFoCniKgxRC4CAIQQSwAcAFACt74SAP4Obl10uPk6HcDbcF9vHdwZ1/5VCJGEMPNVIpFIJP1DTqIlEolEIpHcFQgh1gB4Du4b2teI6JkQu+SDEGIC3JF70uFeINhARM+F1qu+8WycPgHgDhE9HGp//OF5GvgagGK49yH9MREdHpJNOYmWSCQSiUQy1gn3GP099BYDP9z8VCOE+EsAcwHEhvEk+m0AB4joNY+UMsqzR2XQSE20RCKRSCSSu4H5AK4SUTkR2QC8D+DREPvkAxFVEdEpz+9tAErhDo0algghxgN4CO5V3rBECBELYCnc+2hARLahTqABOYmWSCQSiURyd+AvRn/YTk4Bnxj44cqzAP4G3r0p4cgUAHUA3hRCnBZCvCaEiB6qUTmJlkgkEolEcjcwqmL0a2Pgh9offwghHgZQS0QnQ+1LACIAzAbwChHNgjsW/C+HalROoiUSiUQikdwNjJoY/b3EwA9HFgNYJ4S4Abc8ZqUQ4t3QuuSXCgAVRNSzov8B3JPqISEn0RKJRCKRSO4GRkWM/j5i4IcdRPS3RDSeiCbB/Xl+TUTfC7FbPhBRNYDbnpTzALAKwJA3asq03xKJRCKRSMY8ROQQQvwUwA54Y/RfCLFb/lgM4PsASoQQZzyv/R0RbQ+dS2OCnwH4recGqhzAj4ZqUIa4k0gkEolEIpFIBoiUc0gkEolEIpFIJANETqIlEolEIpFIJJIBIifREolEIpFIJBLJAJGTaIlEIpFIJBKJZIDISbREIpFIJBKJRDJA5CRaIpFIJBKJRCIZIHISLZFIJBKJRCKRDBA5iZZIJBKJRCKRSAbI/x9F+t4wiqj4GAAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 864x216 with 6 Axes>"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "zero_grid = CenteredGrid(0, 0, x=32, y=32, bounds=Box(x=1, y=1))\n",
    "y_grid = CenteredGrid((0, 1), extrapolation.BOUNDARY, x=32, y=32)\n",
    "noise_grid = CenteredGrid(Noise(), extrapolation.PERIODIC, x=32, y=32)\n",
    "sin_curve = CenteredGrid(lambda x: math.sin(x), extrapolation.PERIODIC, x=100, bounds=Box(x=2 * PI))\n",
    "\n",
    "vis.plot(zero_grid, y_grid, noise_grid, sin_curve, size=(12, 3))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "## Construct a `StaggeredGrid`"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\PhD\\phiflow2\\phi\\math\\_tensors.py:789: UserWarning: unstack_spatial() is deprecated. Use tensor.dim[order].dim\n",
      "  warnings.warn(f\"unstack_spatial() is deprecated. Use tensor.dim[order].dim\")\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 864x216 with 4 Axes>"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "zero_grid = StaggeredGrid(0, 0, x=32, y=32, bounds=Box(x=1, y=1))\n",
    "y_grid = StaggeredGrid((0, 1), extrapolation.BOUNDARY, x=32, y=32)\n",
    "noise_grid = StaggeredGrid(Noise(), extrapolation.PERIODIC, x=32, y=32)\n",
    "sin_curve = StaggeredGrid(lambda x: math.sin(x), extrapolation.PERIODIC, x=100, bounds=Box(x=2 * PI))\n",
    "\n",
    "vis.plot(zero_grid, y_grid, noise_grid, sin_curve, size=(12, 3))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "## Construct `StaggeredGrid` from NumPy Arrays\n",
    "\n",
    "Given matching arrays `vx` and `vy`, we can construct a `StaggeredGrid`.\n",
    "Note that the shapes of the arrays must [match the extrapolation](https://tum-pbs.github.io/PhiFlow/Staggered_Grids.html)!"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true,
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [],
   "source": [
    "vx = math.tensor(np.zeros([33, 32]), spatial('x,y'))\n",
    "vy = math.tensor(np.zeros([32, 33]), spatial('x,y'))\n",
    "StaggeredGrid(math.stack([vx, vy], dual(vector='x,y')), extrapolation.BOUNDARY)\n",
    "\n",
    "vx = math.tensor(np.zeros([32, 32]), spatial('x,y'))\n",
    "vy = math.tensor(np.zeros([32, 32]), spatial('x,y'))\n",
    "StaggeredGrid(math.stack([vx, vy], dual(vector='x,y')), extrapolation.PERIODIC)\n",
    "\n",
    "vx = math.tensor(np.zeros([31, 32]), spatial('x,y'))\n",
    "vy = math.tensor(np.zeros([32, 31]), spatial('x,y'))\n",
    "StaggeredGrid(math.stack([vx, vy], dual(vector='x,y')), 0)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "## BFGS Optimization"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [],
   "source": [
    "def loss_function(x):\n",
    "    return math.l2_loss(math.cos(x))\n",
    "\n",
    "initial_guess = math.tensor([1, -1], math.batch('batch'))\n",
    "math.minimize(loss_function, Solve('L-BFGS-B', 0, 1e-3, x0=initial_guess))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "## Linear Solve"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [],
   "source": [
    "def f(x):\n",
    "    return 2 * x\n",
    "\n",
    "math.solve_linear(f, 84, Solve('CG', 1e-5, x0=0))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "## Sparse Matrix Construction"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[92m~x=0\u001b[0m  \u001b[94m-2.,  1.,  1.\u001b[0m  along \u001b[92m(xˢ=3)\u001b[0m\n",
      "\u001b[92m~x=1\u001b[0m  \u001b[94m 1., -2.,  1.\u001b[0m  along \u001b[92m(xˢ=3)\u001b[0m\n",
      "\u001b[92m~x=2\u001b[0m  \u001b[94m 1.,  1., -2.\u001b[0m  along \u001b[92m(xˢ=3)\u001b[0m\n"
     ]
    }
   ],
   "source": [
    "from functools import partial\n",
    "\n",
    "periodic_laplace = partial(math.laplace, padding=extrapolation.PERIODIC)\n",
    "example_input = math.ones(spatial(x=3))\n",
    "matrix, bias = math.matrix_from_function(periodic_laplace, example_input)\n",
    "math.print(matrix)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "## Sampling a Function"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 864x360 with 2 Axes>"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "def f(x):\n",
    "    return math.l2_loss(math.sin(x))\n",
    "\n",
    "f_grid = CenteredGrid(f, x=100, y=100, bounds=Box(x=2*PI, y=2*PI))\n",
    "vis.plot(f_grid)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "## Plot Optimization Trajectories"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [],
   "source": [
    "def minimize(x0):\n",
    "    with math.SolveTape(record_trajectories=True) as solves:\n",
    "        math.minimize(f, Solve('BFGS', 0, 1e-5, x0=x0))\n",
    "    return solves[0].x  # shape (trajectory, x, y, vector)\n",
    "\n",
    "trajectories = CenteredGrid(minimize, x=8, y=8, bounds=Box(x=2*PI, y=2*PI)).values\n",
    "segments = []\n",
    "for start, end in zip(trajectories.trajectory[:-1].trajectory, trajectories.trajectory[1:].trajectory):\n",
    "    segments.append(PointCloud(start, end - start, bounds=Box(x=2*PI, y=2*PI)))\n",
    "anim_segments = field.stack(segments, batch('time'))\n",
    "vis.plot(f_grid, anim_segments, overlay='args', animate='time', color='#FFFFFF', frame_time=500)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "## Neural Network Training"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [],
   "source": [
    "net = dense_net(1, 1, layers=[8, 8], activation='ReLU')  # Implemented for PyTorch, TensorFlow, Jax-Stax\n",
    "optimizer = adam(net, 1e-3)\n",
    "BATCH = batch(batch=100)\n",
    "\n",
    "def loss_function(data: Tensor):\n",
    "    prediction = math.native_call(net, data)\n",
    "    label = math.sin(data)\n",
    "    return math.l2_loss(prediction - label), data, label\n",
    "\n",
    "print(f\"Initial loss: {loss_function(math.random_normal(BATCH))[0]}\")\n",
    "for i in range(100):\n",
    "    loss, _data, _label = update_weights(net, optimizer, loss_function, data=math.random_normal(BATCH))\n",
    "print(f\"Final loss: {loss}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "## Parameter Count"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [],
   "source": [
    "parameter_count(net)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
